如何在AutoHotkey v2中使用Run命令调用start.exe与cmd.exe?
AutoHotkey运行dir命令失败的解决方法
你的代码问题出在引号使用和命令格式上,AHK对外部命令的参数解析逻辑和PowerShell不同,调整写法即可解决:
方法一:直接调用cmd.exe(推荐)
不需要额外用start命令,AHK的Run本身可以启动新的命令提示符窗口:
^+å:: { Run A_ComSpec " /k dir" }
如果是AutoHotkey v1版本,写法为:
^+å:: Run %A_ComSpec% /k dir return
方法二:保留start命令的正确写法
如果一定要用start,需要给start补充空的窗口标题参数(start命令要求第一个带引号的参数是窗口标题),同时正确转义双引号:
^+å:: { Run "start """" " """" A_ComSpec """" " /k dir" }
原因说明
你在PowerShell中执行start C:\WINDOWS\system32\cmd.exe "/k dir"能成功,是因为PowerShell自动处理了参数解析。但AHK里Run命令的字符串中,双引号需要用两个连续双引号转义,且start命令必须指定窗口标题(可以是空字符串""),否则会把后续的路径当作标题,导致参数传递错误。
内容的提问来源于stack exchange,提问作者Håkon Hægland
相关产品推荐
相关产品推荐

