|
本帖最后由 yyz2191958 于 2025-3-6 10:48 编辑
::▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆
方法一(由ank运行:Notepad3_x64.exe):用Notepad3打开txt-好.bat
- @echo off
- pause>nul 2>nul
- 隐藏批处理窗口.exe @ /HID
- 毫秒.com 50
- "%~dp0Alt + Shift + f9+运行.exe" %复制当前文本路径%
- exit
- ==============================================================
- Alt + 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%
复制代码
::▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆▆
方法二:
- @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" "%当前文本路径%"
- exit
复制代码
==========================
原来问题:
用Notepad3打开txt-.bat:
@echo off
pause>nul 2>nul
"%~dp0Alt + Shift + f9.exe" %复制当前文本路径%
"%~dp0剪切板保存为文本.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”就能够复制当前文本路径
|
|