Strumento a riga di comando Robocopy (fornito con la maggior parte delle versioni di windows)
Sulla mia macchina windows 10 si trova a C:\Windows\System32
Da Wikipedia , può essere usato con il seguente set di opzioni per preservare i timestamp di file e directory, così come altri attributi:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPYALL /E /R:0
/DCOPY:T
preserve original Directories’ Timestamps (richiede la versione XP026 o successiva)
/E
: Copia le directory in modo ricorsivo, incluse le directory vuote
/R:0
: non riprovare i file bloccati (il numero di tentativi su copie fallite è 1 milione),
/COPYALL
: Copia tutte le informazioni sui file,
(equivalente a /COPY:DATSOU
, dove
Se vuoi solo conservare i timestamp di data e directory, ma non vuoi non che vengano copiate le sottodirectory vuote e non vuoi non che vengano conservati altri attributi, puoi usare:
Robocopy C:\some_directory D:\some_directory /DCOPY:T /COPY:T /S
dove /S
copia le sottodirectory non vuote
Per vedere la sintassi completa, digitate robocopy /?
al prompt dei comandi, o date un'occhiata a questi post del blog: https://ss64.com/nt/robocopy.html e https://techjourney.net/robocopy-syntax-command-line-switches-and-examples/
Un esempio di un comando che ho eseguito recentemente:
Robocopy D:\ C:\D_backup /DCOPY:T /COPYALL /E /R:0 /ZB /ETA /TEE /V /FP /XD D:\$RECYCLE.BIN /XD "D:\System Volume Information" /LOG:C:\D_backup_robocopy.LOG /MIR
Notate come l'esclusione di 2 sottodirectory richiede che il flag /XD
sia usato due volte. Inoltre, la seconda esclusione di directory usa le virgolette perché ci sono spazi nel nome della directory.
Infine, potete aggiungere il flag /L
per testare il comando prima di farlo per davvero. In questo modo puoi verificare che non copierà (o rimuoverà) nessuna directory/file che non vuoi, e che non ci siano errori nel tuo comando.
Edit: gotcha quando si copia da una Root Directory (aka drive) a una Folder (non-root directory)
Dopo aver eseguito il comando di esempio sopra, la directory non era visibile! (Anche se show hidden files
e show system files
sono stati controllati in Windows 10!) Il seguente comando come da https://serverfault.com/a/455029/399723 ha risolto questo problema:
attrib -h -s C:\D_backup
In alternativa, l'aggiunta di /A-:SH
“annulla l'attributo Hidden dai file di sistema”, quindi può impedire che la directory diventi nascosta in primo luogo, come da https://serverfault.com/a/565804/399723 . Vedi anche https://ss64.com/nt/robocopy.html .
Questa descussion fa più luce su questa opzione come soluzione.
Robocopy D:\ C:\D_backup /A-:SH /DCOPY:T /COPYALL /E /R:0 /ZB /ETA /TEE /V /FP /XD D:\$RECYCLE.BIN /XD "D:\System Volume Information" /LOG:C:\D_backup_robocopy.LOG /MIR
Altri software:
In alternativa, puoi scaricare una versione GUI di robocopy se non vuoi usare la riga di comando.
Un'altra utility per windows è XCopy , sebbene sia inclusa in windows 10, è stata deprecata. Vedere il link per i problemi.
La pagina di Wikipedia per RoboCopy (collegata in cima a questo post) elenca altri software che possono essere usati.