I currently use robocopy to copy files between my computer and my MP3 player. I have a Powershell script with the following command:
robocopy C:\Music F:\Music `
/MIR <# sync dir recursively, remove deleted files #> `
/FFT <# allow 2 second drift between file timestamps #> `
/DST <# ignore exact 1 hour diff between file timestamps #> `
/R:1 /W:1 <# retry failures once, after one second #> `
/XJ <# skip junction points to avoid looping #> `
/XD "*.tmp.*" /XF "*.tmp.*" <# exclude google drive temp files #>