AHK脚本修复路径空格问题后仅C盘根目录无法打开终端求助
问题原因
路径为盘符根目录时返回值末尾自带反斜杠(如C:\),此时你使用的"%path%"格式会生成"C:\"参数,末尾的\"会被命令行解析为转义的双引号,直接破坏后续参数结构,引发报错。
解决方案
对拿到的路径做预处理:如果路径末尾为反斜杠,就追加一个.,这样既不会改变路径指向,又能避免反斜杠转义引号的问题。
修改后的完整代码
#t:: IfWinActive, ahk_class CabinetWClass ; 资源管理器处于激活状态时 { path := GetActiveExplorerPath() ; 处理根目录末尾反斜杠转义问题 if (SubStr(path, 0) == "\") path := path "." Run wt.exe -d "%path%" } else { Run wt.exe } Return GetActiveExplorerPath() { explorerHwnd := WinActive("ahk_class CabinetWClass") if (explorerHwnd) { for window in ComObjCreate("Shell.Application").Windows { if (window.hwnd==explorerHwnd) return window.Document.Folder.Self.Path } } }
内容的提问来源于stack exchange,提问作者dinoboy
相关产品推荐
相关产品推荐

