VBS如何使用带空格的字符串变量调用cmd.exe

时间:2014-11-12 18:37:05

标签: vbscript cmd

我需要拨打以下电话:

set WshShell = WScript.CreateObject("WScript.Shell")
WshShell.Run "cmd /c copy /y C:\input\" & WScript.Arguments(0) & " C:\output", 0

其中输入参数可以是“File Name.txt”。我已经看到无数人使用双引号为硬编码文件位置做同样的事情,但没有使用输入参数或变量。需要什么语法才能使命令行收到:

copy /y "C:\input\File Name.txt" C:\output

而不是

copy /y C:\input\File Name.txt C:\output

是否为任意文件名?

1 个答案:

答案 0 :(得分:3)

在周围的文字中嵌入所需的引号(通过加倍转义):

WshShell.Run "cmd /c copy /y ""C:\input\" & WScript.Arguments(0) & """ C:\output", 0

backgroundfurther reading