【问题标题】:VBS How to call cmd.exe using a string variable with spacesVBS 如何使用带空格的字符串变量调用 cmd.exe
【发布时间】:2014-11-12 18:37:05
【问题描述】:

我需要拨打以下电话:

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

输入参数可能是“文件名.txt”。我见过无数的例子,人们使用双引号对硬编码文件位置做同样的事情,但没有使用输入参数或变量。命令行接收需要什么语法:

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

而不是

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

对于任意文件名?

【问题讨论】:

    标签: vbscript cmd


    【解决方案1】:

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

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

    background, further reading

    【讨论】:

    • 效果很好,我不敢相信我无法弄清楚。谢谢。
    猜你喜欢
    • 2013-10-21
    • 1970-01-01
    • 2020-03-12
    • 1970-01-01
    • 2021-10-31
    • 2015-06-06
    • 2015-06-02
    • 2011-10-29
    • 2011-02-20
    相关资源
    最近更新 更多