Is there a way to xcopy just changed or new files?
From the XCOPY documentation:
/d[:mm-dd-yyyy] : Copies source files changed on or after the specified date only. If you do not include a mm-dd-yyyy value, xcopy copies all Source files that are newer than existing Destination files. This command-line option allows you to update files that have changed.
So, with your example, it should read:
xcopy C:\source X:\destination /s /d
Robocopy is a good alternative as well:
By default Robocopy will only copy a file if the source and destination have different time stamps or different file sizes.
Plus, you can do a lot more - the mirror command is handy for websites where you are deleting files as well.
Use the /A option. All the new or modified files will have archive attribute set.
Check the below link for details:
Xcopy command syntax and examples