2013-04-18 4 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 uote рядом с «S: Claims» заканчивает строку; вам нужно, чтобы избежать кавычек файлов со второй цитатой, как это:

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: Claim \ sound.wav действителен (файл sound.wav в папке с требованиями в текущей рабочей папке на диске S), где S: \ утверждает, что папка заявок находится в корне (и, возможно, такая же, как s: претензии) – NeronLeVelu

+2

Привет, пользователь1590368. Не могли бы вы отметить это решение в качестве правильного ответа? – Navin

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