我正在尝试在AutoHotKeys中使用相对路径,因此可以检出源代码控制并且热键仍然有效。
使用%A_WorkingDir%
为我提供了脚本的位置。从那里我需要向上移动一个目录,然后向下移动到我需要运行的脚本。
我试过了:
^!a::
Path = %A_WorkingDir%
Run %Path%\..\locationOf\script.cmd
^!a::
Path = %A_WorkingDir%\..
Run %Path%\locationOf\script.cmd
^!a::
Path = %A_WorkingDir% \..
Run %Path%\locationOf\script.cmd
^!a::
Path = %A_WorkingDir% "\.." ; Also removed the space between % and " -> %A_WorkingDir%"\.." but didn't work
Run %Path%\locationOf\script.cmd
我真的不想在工作目录上进行任何字符串操作来强制它,除非没有别的办法吗?
感谢您的帮助
答案 0 :(得分:3)
<强>尝试强>
Run %A_WorkingDir%\..\locationOf\script.cmd
或强>
Run "%A_WorkingDir%\..\locationOf\script.cmd"
或强>
Run %comspec% /k "%A_WorkingDir%\..\locationOf\script.cmd"
正如BGM所说:
请记住,也可以通过Windows启动器或快捷方式更改workingdir。如果您使用像JetToolbar(我最喜欢的)这样的启动器,它会默认将workingdir设置为自己的应用程序目录。对于脚本来说,将workingdir设置为scriptdir或者仅使用scriptdir可能是一个好主意。
解决方案:
SetWorkingDir, %A_ScriptDir%