Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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

5 Answers 5

up vote 4 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

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

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

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.