2013-04-18 20 views
17

Potrzebuję wykonać polecenie, aby skopiować plik z jednej lokalizacji do drugiej za pomocą wiersza polecenia, używając pliku vbs. właśnie to mam, ale ciągle wyrzuca mi błąd.Uruchamianie wiersza polecenia i polecenia z 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' 

Błąd pojawia się:

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

Źródło: Microsoft VBScript Błąd kompilacji”

Proszę o pomoc :)

Odpowiedz

25

Problem polega na tym wierszu:

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

Twoje pierwsze q uote obok "S: Claims" kończy łańcuch; musisz uciec cudzysłowie plików z drugim środki, tak:

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

Trzeba też literówkę w S:Claims\Sound.wav, powinny być S:\Claims\Sound.wav.

Zakładam również apostrof przed Dim oShell i po Set oShell = Nothing również są literówki.

+0

Witam, dziękuję za odpowiedź, to ma sens. Tak, apostrofowie byli literami. Działa jako uczta! :) – user1590368

+0

s: claim \ sound.wav jest poprawna (plik sound.wav w folderze roszczeń w bieżącym folderze roboczym na dysku S), gdzie S: \ claim określa, że ​​folder roszczeń znajduje się w katalogu głównym (i może to samo, co s: claim) – NeronLeVelu

+2

Witam user1590368, Czy możesz oznaczyć to rozwiązanie jako właściwą odpowiedź? – Navin

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