Skip to content

Instantly share code, notes, and snippets.

@aromig
Created September 28, 2016 14:47
Show Gist options
  • Save aromig/19871c003952b04f6c78299b816e98b7 to your computer and use it in GitHub Desktop.
Save aromig/19871c003952b04f6c78299b816e98b7 to your computer and use it in GitHub Desktop.
Robocopy - Exclude Existing Files
robocopy c:\Sourcepath c:\Destpath /E /XC /XN /XO
:: /E makes Robocopy recursively copy subdirectories, including empty ones.
:: /XC excludes existing files with the same timestamp, but different file sizes. Robocopy normally overwrites those.
:: /XN excludes existing files newer than the copy in the source directory. Robocopy normally overwrites those.
:: /XO excludes existing files older than the copy in the source directory. Robocopy normally overwrites those.
:: With the Changed, Older, and Newer classes excluded, Robocopy will exclude files existing in the destination directory.
@raghavsanadhya
Copy link

raghavsanadhya commented Jun 25, 2024

#ALL files were copied and no OVERWRITING ONLY IF SOURCE FILE WAS ACCESSED BEFORE THE LAST TIME DESTINATION FILE WAS ACCESSED

IT MIGHT NOT WORK FOR EVERY CASE

$robocopyArgs = "/log:D:\robocopywithnflndllogs\output.log" + " /XO /XX /S /E /ZB"
Start-Process -FilePath "C:\Windows\System32\Robocopy.exe" -verb runAs -ArgumentList "$source", "$destination", $robocopyArgs -Wait

#neither extra files at destination should be deleted
#neither files at destination should be overwritten (meaning: if files at destination are edited then should not be overwritten)
#all extra files at source should be copied to destination

@martin12333
Copy link

/xn Source directory files newer than the destination are excluded from the copy.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment