从VBS运行命令行和命令

use*_*368 19 vbscript command-prompt

我需要运行一个命令,通过命令提示符使用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'
Run Code Online (Sandbox Code Playgroud)

我得到的错误是:

'Script: C:\******\command.vbs
Char: 30
Error: Expected end of statement
Code: 80040401
Run Code Online (Sandbox Code Playgroud)

来源:Microsoft VBScript编译错误'

请帮忙 :)

Lit*_*les 34

问题出在这一行:

oShell.run "cmd.exe /C copy "S:Claims\Sound.wav" "C:\WINDOWS\Media\Sound.wav"
Run Code Online (Sandbox Code Playgroud)

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

oShell.run "cmd.exe /C copy ""S:\Claims\Sound.wav"" ""C:\WINDOWS\Media\Sound.wav"" "
Run Code Online (Sandbox Code Playgroud)

你也S:Claims\Sound.wav应该有一个错字S:\Claims\Sound.wav.

我也假设撇号之前Dim oShell和之后Set oShell = Nothing都是错别字.

  • 您好user1590368,请您将此解决方案标记为正确答案吗? (2认同)

小智 5

Set oShell = CreateObject ("WScript.Shell") 
oShell.run "cmd.exe /C copy ""S:Claims\Sound.wav"" ""C:\WINDOWS\Media\Sound.wav"" "
Run Code Online (Sandbox Code Playgroud)

  • 您还错过了“S:Claims”错字。 (2认同)