How to use xcopy to only copy files if they are newer?

Junior Mayhé picture Junior Mayhé · Jul 13, 2011 · Viewed 36k times · Source

I have many web applications in a Visual Studio solution.

All have the same post build command:

xcopy "$(TargetDir)*.dll" "D:\Project\bin" /i /d /y

It would be useful to avoid replacing newer files with old ones (e.g. someone could accidentally add a reference to an old version of a DLL).

How can I use xcopy to replace old files only with newer DLL files generated by Visual Studio?

Answer

JAB picture JAB · Jul 13, 2011

From typing "help xcopy" at the command line:

/D:m-d-y     Copies files changed on or after the specified date.
             If no date is given, copies only those files whose
             source time is newer than the destination time.

So you already are using xcopy to only replace old files with new ones. If that's not happening, you may have to swap the positions of the /i and /d switches.