27

I need to run a command to copy a file from one location to another through Command Prompt using a vbs file. this is what I have however it keeps throwing an error at me.

'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'

The error i get is:

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

Source: Microsoft VBScript compilation error'

Please help :)

user1590368
  • 379
  • 1
  • 4
  • 4

2 Answers2

45

The problem is on this line:

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

Your first quote next to "S:Claims" ends the string; you need to escape the quotes around your files with a second quote, like this:

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

You also have a typo in S:Claims\Sound.wav, should be S:\Claims\Sound.wav.

I also assume the apostrophe before Dim oShell and after Set oShell = Nothing are typos as well.

LittleBobbyTables - Au Revoir
  • 32,008
  • 25
  • 109
  • 114
  • Hello, Thank you for your response, that makes sense. Yeah the apostrophe's were typos. Works a treat! :) – user1590368 Apr 19 '13 at 10:12
  • s:claims\sound.wav is valid (file sound.wav under claims folder in current working folder on S drive) where S:\claims specify that claims folder is on the root (and maybe the same as s:claims) – NeronLeVelu Jan 28 '14 at 13:09
  • 2
    Hi user1590368, Could you please mark this solution as the right answer? – Navin Jan 29 '15 at 23:06
  • I would rather [do this](http://pastie.org/private/j3kqoslwugfnodja9lc6hw#) (not sure if works) than what you or user1590368 is doing. – zulc22 Mar 03 '15 at 04:48
4
Set oShell = CreateObject ("WScript.Shell") 
oShell.run "cmd.exe /C copy ""S:Claims\Sound.wav"" ""C:\WINDOWS\Media\Sound.wav"" "
Pang
  • 9,564
  • 146
  • 81
  • 122