web-dev-qa-db-ja.com

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コンパイルエラー '

助けてください :)

17
user1590368

問題はこの行にあります:

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

「S:Claims」の横にある最初の引用符で文字列が終了します。次のように、2番目の引用符でファイルを囲む引用符をエスケープする必要があります。

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の後のアポストロフィもタイプミスであると想定しています。

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