2013-04-18 128 views
17

我需要运行一个命令,通过使用vbs文件的命令提示符将文件从一个位置复制到另一个位置。这是我的,但它一直在向我抛出一个错误。从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编译错误”

请帮助:)

回答

25

的问题是在这条线:

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

您的第一个问题q “S:Claims”旁边的uote结束字符串;你需要逃避在你的文件中的报价与第二个引号,像这样:

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也是错别字。

+0

您好,感谢您的回复,这很有道理。是的撇号是拼写错误。作品一种享受! :) – user1590368

+0

s:claims \ sound.wav有效(S驱动器上当前工作文件夹中的声明文件夹下的文件sound.wav)其中S:\ claims指定声明文件夹位于根目录(也可能与s:声明相同) – NeronLeVelu

+2

嗨user1590368,你能把这个解决方案标记为正确答案吗? – Navin

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