You could write a batch script that you can set to autorun when you insert your USB drive. With a bit of cleverness you can make sure it only runs on one specific machine.
A cool feature of Windows is that if you manually assign a drive letter to a USB drive, Windows remembers that assignment even after the USB drive has been unplugged. You can even use different USB ports each time. I rely on this when running a file copy from my server to an external USB drive.
So, on your USB drive you would have 2 files:
Autorun.inf
sync.bat
Code:
@echo off
IF /I "yourcomputername"=="%computername%" (
robocopy "G:\Path\to\source\on\USB" "D:\Path\to\destination\on\PC" /S /MIR
)
/S tells robocopy to copy subfolders. /MIR tells robocopy to make the destination look like the source. So extra files are added, and any files in destination that are not in source will be deleted from destination. Remove /MIR if you just want a straight-forward copy with no deletions.
You will obviously need to alter paths and the
yourcomputername part. It needs to be in quotes.
EDIT: If SyncToy has the ability to recognise when a USB drive has been inserted, that could be another option. Though with 2 minutes work you can do it all with built-in tools.