本帖最后由 yyz219 于 2025-3-6 07:47 编辑
::▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆
方法一(由ank运行:Notepad3_x64.exe):用Notepad3打开txt-好.bat | @echo off | | pause>nul 2>nul | | 隐藏批处理窗口.exe @ /HID | | 毫秒.com 50 | | "%~dp0Alt + Shift + f9+运行.exe" %复制当前文本路径% | | exit | | ============================================================== | | 00Alt + Shift + f9+运行.ahk | | ;【复制当前文本路径,用Notepad3_x64.exe打开这个文本】 | | ;【切换到中文输入法,否则不能识别中文路径】 | | PostMessage, 0x50, 0, 0x0804, , A ; 0x0804 是 中文(简体)输入法 ID | | ;【Alt + Shift + f9(复制当前文本路径到剪切板)】 | | Send, {Alt Down}{Shift Down}{f9 Down}{f9 Up}{Shift Up}{Alt Up} | | Sleep,100 | | ;【Notepad3_x64.exe按照剪切板内容打开文本】 | | notepadSan:=".\..\Notepad3_x64.exe " | | run,%notepadSan%%Clipboard%COPY |
::▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆
方法二 | @echo off | | pause>nul 2>nul | | 隐藏批处理窗口.exe @ /HID | | 毫秒.com 50 | | "%~dp0Alt + Shift + f9.exe" %复制当前文本路径% | | for /f "delims=" %%a in ('mshta "JavaScript:new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1).Write(clipboardData.getData('text'));close()"') do set "当前文本路径=%%a" | | start "" "%~dp0..\Notepad3_x64.exe" "%当前文本路径%" | | exitCOPY |
==========================
原来问题:
用Notepad3打开txt-.bat:
@echo off
pause>nul 2>nul
"%~dp0Alt + Shift + f9.exe" %复制当前文本路径%
"%~dp0剪切板保存为文D:\记事本Notepad3\断剑留痕版特点.txt本.exe" /get >"%~dp0当前文本路径.txt" %保存当前文本路径%
set /p 当前文本路径=<"%~dp0当前文本路径.txt"
start "" "%~dp0..\Notepad3_x64.exe" "%当前文本路径%"
del "%~dp0当前文本路径.txt"
exit
======================================================
如果用Notepad2打开了一个“试一试.txt”,再运行“用Notepad3打开txt-.bat”,就能够用Notepad3再打开“试一试.txt”
=================================================================
问题:
1.这里需要使用一个“剪切板保存为文本.exe”,有一点累赘
2.这个过程需要一个临时文件“当前文本路径.txt”,不爽
需求:希望不使用“剪切板保存为文本.exe" 和 "当前文本路径.txt”也能够实现一样的效果
======================================================
说明:“Alt + Shift + f9.exe”是ahk的.exe,它的作用就是按Alt + Shift + f9.exe键,按“Alt + Shift + f9”就能够复制当前文本路径 |