运行 一次执行两个 cmd 命令?
Running two cmd commands in one go?
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,listsel,0,, Hide
Return
Gives me an error. ==> The following variable name contains an illegal character: ", Hide"
它认为,第二个CMD命令中的逗号是AHK参数。
我试过完整地引用第二个命令,但 CMD window 似乎只接收到第一个命令。
谢谢。
逗号确实是一个问题,另一个问题是您对 %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) variable contains the path to cmd.exe and the /k
switch(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`,0, , Hide
在现代表达式语法中,它看起来像这样:
Run, % A_ComSpec " /k cd ""C:\Program Files\GPSoftware\Directory Opus\"" && dopusrt.exe /info documents\filelist1.txt,listsel,0", , Hide
我建议放弃旧语法并开始只编写表达式语法。
Here's 一个文档页面,如果您有兴趣,可以帮助您了解遗留语法和表达式语法之间的区别。
但实际上,整个 cd
ing 到 dopusrt.exe
所在目录的方法对我来说真的很愚蠢。没看出重点。
直接 运行 dopusrt.exe
程序应该没问题吧?
Run, % """C:\Program Files\GPSoftware\Directory Opus\dopusrt.exe"" /info documents\filelist1.txt,listsel,0", , Hide
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,listsel,0,, Hide
Return
Gives me an error. ==> The following variable name contains an illegal character: ", Hide"
它认为,第二个CMD命令中的逗号是AHK参数。
我试过完整地引用第二个命令,但 CMD window 似乎只接收到第一个命令。 谢谢。
逗号确实是一个问题,另一个问题是您对 %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) variable contains the path to cmd.exe and the /k
switch(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`,0, , Hide
在现代表达式语法中,它看起来像这样:
Run, % A_ComSpec " /k cd ""C:\Program Files\GPSoftware\Directory Opus\"" && dopusrt.exe /info documents\filelist1.txt,listsel,0", , Hide
我建议放弃旧语法并开始只编写表达式语法。
Here's 一个文档页面,如果您有兴趣,可以帮助您了解遗留语法和表达式语法之间的区别。
但实际上,整个 cd
ing 到 dopusrt.exe
所在目录的方法对我来说真的很愚蠢。没看出重点。
直接 运行 dopusrt.exe
程序应该没问题吧?
Run, % """C:\Program Files\GPSoftware\Directory Opus\dopusrt.exe"" /info documents\filelist1.txt,listsel,0", , Hide