在以下脚本中:
Set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "%comspec% /k" & _
" ""C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\TF.exe"" " & _
"move ""C:\Automation\Custom_UiPath_Activities\NuPackages\*.nupkg"" ""C:\Automation\Custom_UiPath_Activities\NuPackages\Old""", 1, True
它给出错误
'C:\ Program'不被识别为内部或外部命令。
似乎是因为第一个参数周围的转义引号被忽略了。 我已经尝试将字符串记录到文本文件中,并且在将输出的字符串复制到CMD时,它按预期工作。
我看不出我做错了什么。
答案 0 :(得分:0)
如果要在CMD中使用菊花链命令,则需要在它们之间放置一个&符号(&
)作为命令行的一部分。您的代码使用&符号作为VBScript字符串连接运算符。此外,要通过cmd /k
(或cmd /c
)运行多个命令,您需要在它们周围添加一组双引号。此外,使用变量和引用函数有助于保持代码可读。
Function qq(s) : qq = """" & s & """" : End Function
tf = "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\TF.exe"
src = "C:\Automation\Custom_UiPath_Activities\NuPackages"
dst = "C:\Automation\Custom_UiPath_Activities\NuPackages\Old"
Set WshShell = CreateObject("WScript.Shell")
WshShell.Run "%comspec% /k """ & qq(tf) & " & " & _
"move " & qq(src & "\*.nupkg") & " " & qq(dst) & """", 1, True