Link to home
Start Free TrialLog in
Avatar of YZlat
YZlatFlag for United States of America

asked on

robocopy and if else in batch file

What I am trying to do is check if a folder Test exists on a desktop and if it does not, then I want to copy that folder from the server. And if it already exists, then I want to just copy the files from folder Test on the server into the existing folder on the desktop. And if existing folder contains any files I don't want the purged.  Below is the if else statement I use and it works great if folder does not exist but does nothing if folder already exists on the desktop. What am I doing wrong?

P.S. I want to use robocopy for copying the folder ot the files

if not exist "C:\Documents and Settings\All Users\Desktop\Test" 
(
robocopy "\\Server03\data\Test" "C:\Documents and Settings\All Users\Desktop\Test" /E
)
else
(
robocopy "\\Server03\data\Test" "C:\Documents and Settings\All Users\Desktop\Test" /COPY:DAT
)

Open in new window

Avatar of cjrmail2k
cjrmail2k
Flag of United Kingdom of Great Britain and Northern Ireland image

why not rather use robocopy to copy the whole folder each time, there is a switch that you can use to only copy files that have changed
sorry files _or folders_ that have changed
Avatar of YZlat

ASKER

the reason why I can't do that is because if Test folder already exists, it might contain files that are not in "\\Server03\data\Test"
ASKER CERTIFIED SOLUTION
Avatar of cjrmail2k
cjrmail2k
Flag of United Kingdom of Great Britain and Northern Ireland image

Link to home
membership
This solution is only available to members.
To access this solution, you must be a member of Experts Exchange.
Start Free Trial
Avatar of YZlat

ASKER

so which switch should I use? /E?
think thats it, I can check my scripts when I get in tomorrow and confirm, you can also copy permissions on files etc if you like.