Mirror only directories that exist in destination

I am trying to copy data from an old file server to a new one.  Some of the users on the old one aren't coming to the new system.  I did a robocopy job where i just mirrored the directories and not any data and then had the admins go through and delete any users that aren't coming to the new system.

Now I just need to determine how I can tell robocopy to only mirror data for directories that exist on the destination.  Is that possible?
WaidentAsked:
Who is Participating?
I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

SylvainDrapeauCommented:
Hello !

XCOPY /U does just that, but I can't find an option in ROBOCOPY that looks like this.

Syldra
0
QlemoBatchelor, Developer and EE Topic AdvisorCommented:
The only way I can think of to achieve that is to maintain a exclusion list of folders with the /XD option. You can obtain that list by:

@echo off
setlocal EnableDelayedExpansion
dir /a:+d /s /b \\srcserver\share\  > srcdirs.txt
dir /a:+d /s /b \\dstserver\share\  > dstdirs.txt
set xdirs=
for /F %%D in ('findstr /v /L /g:dstdirs.txt srcdirs.txt') do set xdirs=!xdirs! "%%D"
robocopy ... /XD %xdirs% ...

(You need to fill out the remainder of the robocopy to your liking).
0
QlemoBatchelor, Developer and EE Topic AdvisorCommented:
xcopy /u does not refer to folders, only to files ...
0
The Ultimate Tool Kit for Technolgy Solution Provi

Broken down into practical pointers and step-by-step instructions, the IT Service Excellence Tool Kit delivers expert advice for technology solution providers. Get your free copy for valuable how-to assets including sample agreements, checklists, flowcharts, and more!

Bill PrewCommented:
Just to toss another option out there, I don't think ROBOCOPY can do it all in one step.  But you could wrap the ROBOCOPY usage in a small BAT script that looks at the directories in the source location, and only does a ROBOCOPY of that folder if it exists in the destination location.  So it would look like this (I didn't try to put options on the ROBOCOPY, you likely have a set of those from the first copy):

@echo off
setlocal EnableDelayedExpansion
set FromDir=\\srcserver\share
set DestDir=\\dstserver\share
for /D %%A in ("%FromDir%\*") do (
  if exist "%DestDir%\%%nA" (
    robocopy "%FromDir%\%%nA\" "%DestDir%\%%nA\"
  )
)

~bp
0
SylvainDrapeauCommented:
@Qlemo : I have not tested it but after reading the description again, I believe you are correct. My apologies.

Syldra
0
WaidentAuthor Commented:
thanks for the help guys...unfortunately I ended up having to just move the users drives manually into a separate folder on the source side so i could do a full copy job.  
0

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
QlemoBatchelor, Developer and EE Topic AdvisorCommented:
I'm convinced that both my and Bill solutions are working and feasible. Any reason why you could use neither?
0
WaidentAuthor Commented:
compiling the list and writing a script was more complex than simply moving the directories I needed into a subfolder and mirroring the whole directory.

I have no problem awarding you guys the points...you did provide options, i just thought that I only reward points when I use the solutions provided and they work which in this case I did not and since I didn't I have no way of knowing whether they would work or not.  

0
QlemoBatchelor, Developer and EE Topic AdvisorCommented:
What you did was alright. You should just have added the last comment to your closing request. I've asked because it might not have worked for any reason, and that would be important to know for us.
0
WaidentAuthor Commented:
Gotcha...noted for next time.  

I do appreciate the answers, as always...in this case I was looking for a simple answer to avoid the manual process but when I saw that there was no simple answer I went with a way I know will work as I couldn't afford any mistakes.  

 
0
QlemoBatchelor, Developer and EE Topic AdvisorCommented:
No bad choice.
0
WaidentAuthor Commented:
no solution provided...did my own workaround
0
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today
Storage

From novice to tech pro — start learning today.