Questo tutorial descrive come usare robocopy per copiare tutti i file e le cartelle da una fonte a una destinazione. Con lo stesso comando, puoi eseguirlo di nuovo in seguito, e copierà solo i file che sono cambiati nella destinazione. Inoltre, se i file sono stati cancellati dalla fonte, li rimuoverà anche dalla destinazione. Questo comando manterrà anche tutti i permessi NTFS e gli attributi dei file.
Un tipico scenario d’uso per questo comando è la copia di una grande condivisione di file. Puoi eseguire il comando una volta per copiare la maggior parte dei dati, poi puoi eseguirlo di nuovo in seguito, e copierà solo i file modificati, il che lo renderà molto più veloce.
robocopy C:\source C:\dest /TEE /LOG+:c:\robolog.txt /MIR /copyall /zb /w:1 /r:2 /xo
Prima vi mostrerò degli esempi di questo comando in azione, e poi scomporrò il comando per mostrarvi cosa fa ogni parte. (Assicurati di lanciare il prompt dei comandi come amministratore)
Nell’immagine qui sotto, vedi una directory di origine e una di destinazione. L’origine ha più cartelle con dati al loro interno. La destinazione è vuota.
Dopo aver eseguito il comando robocopy sopra, usando C:\ITswapshop.com\source come cartella sorgente e C:\ITswapshop.com\destination come cartella di destinazione, puoi vedere che la cartella di destinazione ora è identica alla sorgente:
Ora sto per cancellare un file dalla sorgente e poi aggiungere un altro file alla sorgente. Guardate cosa succede quando eseguo di nuovo il comando:
Il file che è stato cancellato dall’origine, viene cancellato anche dalla destinazione. Inoltre, il nuovo file aggiunto all’origine viene copiato nella destinazione. Tutti i file che non sono stati modificati vengono saltati.
Ora, scomponiamo il comando così possiamo sapere esattamente cosa fa ogni interruttore:
/TEE – Questo mostrerà l’output del comando nella finestra della console, e lo scriverà in un log per ulteriori revisioni.
/LOG+c:\robolog.txt – Questo dice al comando dove scrivere i log. Il segno + dice di aggiungere il file di log, invece di sovrascriverlo.
/MIR – Questo copierà tutti i file e le sottocartelle, e rimuoverà i file/cartelle dalla destinazione, se non esistono più nella fonte.
/COPYALL – Questo copierà tutti i permessi e gli attributi NTFS (permessi di sicurezza, timestamp, informazioni sul proprietario…)
/ZB – Questo usa la modalità riavviabile quando copia i file. Se un file è in uso, riprova dopo un certo periodo di tempo. Se l’accesso è negato, proverà a copiare in modalità backup.
/W:1 – Questo specifica di aspettare 1 secondo tra i tentativi quando si copiano i file.
/R:2 – Questo specifica il numero di tentativi sulle copie fallite.
/XO – Questo esclude i vecchi file/cartelle se il file/cartella di destinazione esiste ed è della stessa data