11165 Letture
Robocopy: come copiare velocemente file e cartelle in rete locale

Robocopy: come copiare velocemente file e cartelle in rete locale

Due parole sull'utilità integrata in Windows che permette di copiare velocemente file e cartelle da un sistema all'altro. Con Robocopy è possibile anche abilitare la sincronizzazione.

Della possibilità di utilizzare Robocopy per il backup di file e cartelle abbiamo spesso parlato. Professionisti e aziende che non avessero ancora adottato strumenti di backup centralizzati, possono sfruttare l'utilità Robocopy per copiare rapidamente qualunque file all'interno della rete locale, ad esempio su un server NAS. L'importante è che il dispositivo di destinazione utilizzi il versioning ovvero sia in grado di mantenere memorizzate più versioni degli stessi file. In questo modo è possibile annullare le ultime modifiche apportate a un file e "tornare indietro nel tempo".
Ne abbiamo parlato nell'articolo Backup, le migliori strategie per proteggere i dati.

Nello stesso articolo abbiamo visto come sia possibile usare Robocopy non soltanto per copiare file e cartelle da un sistema all'altro ma anche per sincronizzare i dati. Il vantaggio è che Robocopy è integrato in Windows ed è quindi immediatamente utilizzabile.


Per copiare rapidamente file e cartelle in rete locale basta, innanzi tutto, annotarsi il nome del dispositivo in uso. Per procedere in tal senso basta premere la combinazione di tasti Windows+R quindi digitare sysdm.cpl e leggere quanto riportato accanto alla voce Nome completo computer.

Robocopy: come copiare velocemente file e cartelle in rete locale

In alternativa, per leggere il nome del PC, basta aprire il prompt dei comandi e digitare ping localhost. Il nome del dispositivo apparirà in bella vista a destra di Esecuzione di Ping.

A questo punto, seguendo le indicazioni riportate nell'articolo Autorizzazioni cartelle condivise in Windows: come gestirle, è possibile condividere una cartella in rete locale e permettervi l'accesso usando un account utente autorizzato.

Da un altro PC collegato in rete locale si potrà usare la sintassi seguente per copiare tutti i file e le cartelle contenuti nella cartella ORIGINE.

robocopy C:\ORIGINE \\NOME-PC\CARTELLA_DESTINAZIONE /S /E /Z /ZB /R:5 /W:5 /TBD /NP /V /MT:16

Al posto di C:\ORIGINE si possono anche usare variabili d'ambiente come %userprofile% per fare riferimento alla cartella del profilo utente correntemente utilizzato.
Ad esempio, digitando quanto segue verrà copiato nel sistema SERVER-01 collegato in rete locale tutto il contenuto della cartella Documenti dell'account utente in uso:

robocopy %userprofile%\Documents \\SERVER-01\BACKUP /S /E /Z /ZB /R:5 /W:5 /TBD /NP /V /MT:16

La cartella di destinazione (in questo caso \BACKUP) può essere o non essere esistente ma si debbono comunque possedere le autorizzazioni necessarie per accedervi e salvarvi file.

Robocopy: come copiare velocemente file e cartelle in rete locale

Al posto di \BACKUP, sulla cartella condivisa (a patto di possedere le necessarie autorizzazioni), è possibile specificare il nome di una nuova cartella che non esiste sul sistema di destinazione.

Attenzione alla copia di cartelle contenenti file di sistema nascosti .INI: se fosse utilizzata la direttiva .ShellClassInfo al loro interno, ci si troverà con delle cartelle che in Esplora file appaiono in un certo modo e da prompt dei comandi in un altro. In altre parole il nome in Esplora file può essere diverso rispetto a quello che appare a livello di file system.
Se si volesse visualizzare il contenuto di una simile cartella dal prompt dei comandi bisognerà aprirlo con i diritti amministrativi (digitare cmd nella casella di ricerca di Windows quindi premere CTRL+MAIUSC+INVIO), accedere alla cartella che contiene la directory con i file copiati da Robocopy e digitare rd NOMECARTELLA /s /q.

Ovviamente è possibile fare in modo che sia il sistema locale a leggere da una cartella condivisa in rete locale. Il comando seguente, per esempio, copierà i file contenuti nella cartella SORGENTE sul sistema SERVER-01 e li salverà nella cartella locale %userprofile%\Documents\backup (di solito C:\Users\Documents\backup).


robocopy \\SERVER-01\SORGENTE %userprofile%\Documents\backup /S /E /Z /ZB /R:5 /W:5 /TBD /NP /V /MT:16

Il parametro più importante è forse /MT perché permette a Robocopy di usare più thread per le operazioni di copia dei file. Anziché copiare i file uno alla volta come avviene con Esplora file, ovvero con i comandi standard dell'interfaccia, è possibile far sì che Robocopy gestisca contemporaneamente più operazioni di copia dei file. L'impostazione di default è pari a 8 thread (nell'esempio abbiamo specificato 16) ma è possibile arrivare fino a 128 anche se viene sconsigliato per via delle maggiori richieste in termini di risorse macchina e di banda.

Robocopy: come copiare velocemente file e cartelle in rete locale