【问题标题】:Run Command Line & Command From VBS从 VBS 运行命令行和命令
【发布时间】:2013-04-11 20:01:45
【问题描述】:

我需要使用 vbs 文件通过命令提示符运行命令将文件从一个位置复制到另一个位置。这就是我所拥有的,但它不断向我抛出错误。

'Dim oShell
Set oShell = WScript.CreateObject ("WScript.Shell")
oShell.run "cmd.exe /C copy "S:Claims\Sound.wav" "C:\WINDOWS\Media\Sound.wav"
Set oShell = Nothing'

我得到的错误是:

'Script: C:\******\command.vbs
Char: 30
Error: Expected end of statement
Code: 80040401

来源:Microsoft VBScript 编译错误'

请帮忙:)

【问题讨论】:

    标签: vbscript command-prompt


    【解决方案1】:

    问题出在这一行:

    oShell.run "cmd.exe /C copy "S:Claims\Sound.wav" "C:\WINDOWS\Media\Sound.wav"
    

    "S:Claims" 旁边的第一个引号结束字符串;您需要使用第二个引号来转义文件周围的引号,如下所示:

    oShell.run "cmd.exe /C copy ""S:\Claims\Sound.wav"" ""C:\WINDOWS\Media\Sound.wav"" "
    

    您在S:Claims\Sound.wav 中也有错字,应该是S:\Claims\Sound.wav

    我还假设Dim oShell 之前和Set oShell = Nothing 之后的撇号也是拼写错误。

    【讨论】:

    • 您好,感谢您的回复,这是有道理的。是的,撇号是错别字。工作一种享受! :)
    • s:claims\sound.wav 是有效的(文件 sound.wav 位于 S 驱动器上当前工作文件夹中的 claim 文件夹下),其中 S:\claims 指定 Claims 文件夹位于根目录(也许与 s:claims 相同)
    • 您好 user1590368,您能否将此解决方案标记为正确答案?
    • 我宁愿 do this(不确定是否有效)而不是你或 user1590368 正在做的事情。
    【解决方案2】:
    Set oShell = CreateObject ("WScript.Shell") 
    oShell.run "cmd.exe /C copy ""S:Claims\Sound.wav"" ""C:\WINDOWS\Media\Sound.wav"" "
    

    【讨论】:

    • 如果文件路径不包含空格,则不必在文件名周围加上qoute。
    猜你喜欢
    • 2018-01-30
    • 1970-01-01
    • 2015-01-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-29
    • 1970-01-01
    相关资源
    最近更新 更多