2013-04-18 313 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"" "