[Okta Webinar] Learn how to a build a cloud-first strategyRegister Now

x
?
Solved

VBScript to run a robocopy command

Posted on 2010-08-22
7
Medium Priority
?
11,598 Views
Last Modified: 2012-06-21
Hi All,

I'm trying to run a robocopy command within a VBScript which isn't producing an error, but isn't completing the required file copy either. I need to use VBScript as a list of folders must be iterated through.

On Error Resume Next
Set oShell=WScript.CreateObject("WScript.Shell")
Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject")
WScript.Run("robocopy" & " " & Chr(34) & "C:\source\folder one" & Chr(34) & " " & Chr(34) & "C:\dest\folder one" & Chr(34) & " " & "/e /xo /mir /zb /R:5 /W:5 /LOG+:" & Chr(34) & "logs\folder one.log" & Chr(34))

Open in new window


This code works if the source and destination dirnames lack spaces. Any ideas?
0
Comment
Question by:paulkramer
5 Comments
 
LVL 67

Assisted Solution

by:sirbounty
sirbounty earned 2000 total points
ID: 33498037
Use
oShell.Run
instead of Wscript.run
0
 
LVL 67

Accepted Solution

by:
sirbounty earned 2000 total points
ID: 33498050
Firstly tho - take out that beginning line - on error resume next - you're masking any errors, preventing you from telling what's not working.
Try this:
Set oShell=WScript.CreateObject("WScript.Shell")
'(Do you even need FSO?) Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject")
strSource = Chr(34) & "C:\source\folder one" & Chr(34) 
strTarget = Chr(34) & "C:\dest\folder one" & Chr(34) 
strParms = " /e /xo /mir /zb /R:5 /W:5 /LOG+:" & Chr(34) & "C:\logs\folder one.log" & Chr(34)
oShell.Run "robocopy " & strSource & " " & strTarget & strParms

Open in new window

0
 
LVL 65

Expert Comment

by:RobSampson
ID: 33507211
sirbounty....long time no see....I hope you're keeping well.

The original script looks like it would have worked, only if the WScript.Run was changed to oShell.Run, but either way, sirbounty's is a bit more managable.

Regards,

Rob.
0
 

Expert Comment

by:tmac603
ID: 34306018
use oShell.Run "%comspec% /k robocopy " & strSource & " " & strTarget & strParms to keep the Cmd box open if the script is erring
0
 
LVL 7

Expert Comment

by:CitizenRon
ID: 35451250
If, like me, you're not a big fan of using a bunch of & Chr(34) & (the ASCII code for a double-quote) then you can just insert a double-quote mark inside a string using a double double-quote ("") when you create the string.

an edit of sirbounty's rewrite using double double-quotes would look like this:
Set oShell=WScript.CreateObject("WScript.Shell")
'(Do you even need FSO?) Set objFSO = Wscript.CreateObject("Scripting.FileSystemObject")
strSource = """C:\source\folder one"""
strTarget = """C:\dest\folder one"""
strParms = " /e /xo /mir /zb /R:5 /W:5 /LOG+:""C:\logs\folder one.log"""
oShell.Run "robocopy " & strSource & " " & strTarget & strParms

Open in new window

Yes, there's THREE double-quotes in there in some spots and only a single actual "double double-quote" but that's because a string is always started with a double-quote and ends with a double-quote.  The "triple double-quotes" are actually a "single double-quote" immediately followed by a "double double-quote" to start the string with a double-quote at the beginning of it and vice-versa to end the string with a double-quote at the end of it.

How's that for technological double-speak?
0

Featured Post

Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

This is pretty cool.  The purpose of this VB Script is to help you document where JAR (Java ARchive) files and specifically java class files are located so that you can address issues seen with a client or that you can speak intelligently with a dev…
This article will show, step by step, how to integrate R code into a R Sweave document
Learn how to match and substitute tagged data using PHP regular expressions. Demonstrated on Windows 7, but also applies to other operating systems. Demonstrated technique applies to PHP (all versions) and Firefox, but very similar techniques will w…
In this seventh video of the Xpdf series, we discuss and demonstrate the PDFfonts utility, which lists all the fonts used in a PDF file. It does this via a command line interface, making it suitable for use in programs, scripts, batch files — any pl…
Suggested Courses

872 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question