如何解决一次运行两个 cmd 命令?
cd "C:\Program Files\GPSoftware\Directory Opus\"
关注
dopusrt.exe /info documents\filelist1.txt,listsel,0
尝试像这样运行它;
2::
Run,%comspec% /k cd "C:\Program Files\GPSoftware\Directory Opus\" && %ComSpec% /k dopusrt.exe /info documents\filelist1.txt,Hide
Return
Gives me an error. ==> The following variable name contains an illegal character: ",Hide"
它认为,第二个 CMD 命令中的逗号是 AHK 参数。
我尝试完整引用第二个命令,但 CMD 窗口似乎只接收第一个命令。 谢谢。
解决方法
逗号确实是一个问题,另一个问题是您对 %comspec% /k
的使用。
现在,您要尝试的是使用 Run
(docs) 命令,其中的参数如下:
-
Target
=C:\WINDOWS\system32\cmd.exe /k cd "C:\Program Files\GPSoftware\Directory Opus\" && C:\WINDOWS\system32\cmd.exe /k dopusrt.exe /info documents\filelist1.txt
-
WorkingDir
=listsel
-
Options
=0
-
OutputVarPID
=,Hide
comspec
(docs) 变量包含 cmd.exe 的路径,/k
开关(docs) 表示运行指定的命令。
所以,你当然不想两次指定这些东西。只有一个在命令的开头。 (Run
带有指定参数的程序(cmd.exe)(/k
、cd
、"C:\Program Files\...
))
关于逗号,在旧语法中(您在此处编写旧语法),您需要使用 `,
将它们转义(docs)。
因此,在旧语法中,您完成的命令将如下所示:
Run,%ComSpec% /k cd "C:\Program Files\GPSoftware\Directory Opus\" && dopusrt.exe /info documents\filelist1.txt`,listsel`,Hide
在现代表达式语法中,它看起来像这样:
Run,% A_ComSpec " /k cd ""C:\Program Files\GPSoftware\Directory Opus\"" && dopusrt.exe /info documents\filelist1.txt,listsel,0",Hide
我建议放弃旧语法,开始只编写表达式语法。
Here's 一个文档页面,可帮助您了解旧语法和表达式语法之间的区别(如果您有兴趣)。
但实际上,将 cd
转到 dopusrt.exe
所在的目录的整个方法对我来说似乎很愚蠢。没看出重点。
直接运行dopusrt.exe
程序应该没问题吧?
Run,% """C:\Program Files\GPSoftware\Directory Opus\dopusrt.exe"" /info documents\filelist1.txt,Hide
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。