Super User is a question and answer site for computer enthusiasts and power users. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I'm on Windows 7 Professional, and this is my scenario :

Folder "Asd" (C:\)              Folder "Asd" (D:\)
File 1                          File 1 
File 2                          File 3 
File 3                          File 4
File 4
File 5

I'd like to select the folder on C:\ (without selecting each single file, of course) and copy it over the same folder on D:. Usually, it will copy all files. But what I'm looking for is to copy only files (from C:) that are contained on folder d:.

So in my case I'd like to replace only File 1, File 3 and File 4. File 2 and File 5 must be ignored.

Is it possible?

share|improve this question
up vote 7 down vote accepted

When you want to copy, robocopy always has the right switch to do it.
Here you want the /XL switch to exclude “lonely” files:

robocopy C:\ D:\ /S /XL

This will work with files or folders.

share|improve this answer

Try using XCOPY command:-

Syntax:

xcopy sourceDirectory DestinationDirectory /U /Y

 /U           Copies only files that already exist in destination.
 /Y           Suppresses prompting to confirm you want to overwrite an
              existing destination file.

Example:

xcopy D:\Temp\test\*.* D:\Temp\test11 /U /Y

*.* - indicates all files in this directory

Here it overrides the files in destination folder "D:\Temp\test11" folder with the files from source

share|improve this answer

A simple for-loop combined with a dir /b should work. Something like this:

FOR /F %X IN ('dir /b D:\Asd') DO copy "C:\Asd\%X" "D:\Asd\%X"

If you're using a batch file, replace %X with %%X (something to do with they way how Windows processes variables, it's different from the command line).

share|improve this answer
    
OH! With GUI is it not possible? – markzzz Feb 6 '12 at 9:08
    
@Markzz, no I don't think so. Oldskool, shouldn't that be "FOR /F %X IN ('dir /b D:\Asd')..." ? – RJFalconer Feb 6 '12 at 9:13
    
@markzzz Ah, didn't realize it had to be a GUI solution. Windows doesn't have that kind of functionality by default, you'd probably have to look for a custom piece of software that does that if command-line is not an option. – Oldskool Feb 6 '12 at 9:14
    
@RJFalconer You are right! Updated the answer, thanks. – Oldskool Feb 6 '12 at 9:14
    
@markzzz I think that the tool Total Commander does have a directory comparison function that you could use for this. – Oldskool Feb 6 '12 at 9:20

Check the Troubleshooting IT Issues blog for solution for Robocopy rooting files like PST

net use n: \\server\backup
echo %computername%
mkdir n:\%computername%
SET SourceDir= n:\%computername%
SET Log="n:\%computername%.log"
robocopy c:\ %SourceDir% *.doc* *.ppt* *.xls* *.pst* *.pdf /s /LOG:%Log%

The addition of * on either side of the office documents is to ensure that you copy all versions from Office-2k3 and above. I have also included the PST files.

share|improve this answer

To go alongside the robocopy and xcopy methods, here's the solution with JP Software's TCC/LE and copy:

copy /c c:\asd\ d:\asd\

share|improve this answer

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .