ROBOCOPY

(da RoboCop Copy)

Strumento avanzato per la copia e lo spostamento di file e strutture di cartelle. Si tratta di un'estensione ed evoluzione dei comandi COPYCOPY e XCOPYXCOPY, oltre che del comando MOVEMOVE per l'operazione di spostamento. Il nome del comando deriva, presumibilmente, dalla possibilità di automatizzare il processo di copia ripetuta di file e cartelle, attraverso un numero di criteri ed opzioni molto vasto. Questo strumento è infatti potentissimo e capace di effettuare operazioni particolari e avanzate che non sono invece possibili con gli altri comandi.

Sintassi:

ROBOCOPY sorgente destinazione [file [...]] [opzioni]

Dove:

  • sorgente - Cartella sorgente, contenente i file o le sottocartelle da copiare. È possibile specificare un percorso locale unità:\percorso o un percorso di rete/condiviso \\dominio\percorso.
  • destinazione - Cartella di destinazione. È possibile specificare un percorso locale unità:\percorso o un percorso di rete/condiviso \\dominio\percorso.
  • file [...] - Specifica uno o più file da copiare contenuti nella cartella sorgente. È possibile usare caratteri jollycaratteri jolly. Se nessun file viene specificato, copia tutti i file contenuti nella cartella sorgente.
  • opzioni - Specifica una o più opzioni.

Opzioni che riguardano la copia:

  • /S - Copia anche le sottocartelle non vuote.
  • /E - Copia anche le sottocartelle, comprese quelle vuote.
  • /LEV:n - Copia i primi n livelli della struttura di cartelle sorgente.
  • /Z - Copia i file in modalità di riavvio.
  • /B - Copia i file in modalità di backup.
  • /ZB - Copia i file in modalità di riavvio o di backup in caso di accesso negato, dando la precedenza alla modalità di riavvio.
  • /J - Copia senza utilizzo di buffer intermedio, consigliato per file di grandi dimensioni.
  • /EFSRAW - Copia i file crittografati in modalità RAW EFS (Encrypting File System).
  • /COPY:flag - Specifica le proprietà da copiare e mantenere nei nuovi file. Al posto di flag, specificare una o più tra le seguenti lettere (default è DAT):
    • D - Data di ultima modifica.
    • A - Attributi (vedi ATTRIBATTRIB).
    • T - Timestamp.
    • X - Salta flussi di dati alternativi (flag ignorata se viene specificata l'opzione /B o /ZB).
    • S - Flag di sicurezza di accesso, riguarda le ACL NTFS (vedi ICACLSICACLS).
    • O - Informazioni sul proprietario.
    • U - Informazioni controllo.
  • /SEC - Copia i file conservando le informazioni relative alla sicurezza di accesso (equivalente a /COPY:DATS).
  • /COPYALL - Copia conservando tutte le proprietà dei file originali (equivalente a /COPY:DATSOU).
  • /NOCOPY - Copia non conservando alcuna proprietà dei file originali (utile insieme all'opzione /PURGE).
  • /SECFIX - Corregge le informazioni di sicurezza di accesso di tutti i file, comprese quelli ignorati.
  • /TIMFIX - Corregge le informazioni di data e ora, comprese quelli ignorati.
  • /PURGE - Elimina i file e le cartelle dalla destinazione se non esistono nel percorso di origine. Se come destinazione viene specificata la cartella principale di un'unità (es: D:), vengono ignorati i file contenuti nella cartella delle informazioni del volume di sistema (System Volume Information). In passato, un bug di ROBOCOPY permetteva che questi file potessero essere eliminati in questo caso, ma questo non accade più nelle versioni più recenti di Windows.
  • /MIR - Esegue il mirroring di una struttura di cartelle (equivalente a /E con /PURGE).
  • /MOV - Sposta i file, ovvero elimina i file sorgente dopo aver effettuato la copia.
  • /MOVE - Sposta i file e le cartelle, ovvero elimina le sorgenti dopo aver effettuato la copia.
  • /A+:attr - Aggiunge gli attributi specificati nei file di destinazione come sequenza di lettere. Alcuni attributi utilizzabili con questa opzione sono R, A, S, H, C, N, E, T (vedi ATTRIBATTRIB e DIRDIR per delle liste complete delle lettere degli attributi e i loro significati).
  • /A-:attr - Rimuove gli attributi specificati nei file di destinazione come sequenza di lettere. Alcuni attributi utilizzabili con questa opzione sono R, A, S, H, C, N, E, T, O (vedi ATTRIBATTRIB e DIRDIR per delle liste complete delle lettere degli attributi e i loro significati).
  • /CREATE - Crea solo file e strutture di cartelle vuoti, senza copiarne i contenuti.
  • /FAT - I nomi dei file e delle cartelle di destinazione vengono creati come nomi FAT 8.3 (ovvero nomi brevi, vedi FSUTILFSUTIL).
  • /256 - Disabilita il supporto per percorsi più lunghi di 256 caratteri. Percorsi più lunghi di 256 caratteri potrebbero non essere supportati da file system meno recenti.
  • /MON:n - Attiva il monitoraggio dei file e delle cartelle sorgenti, effettuando una nuova copia quando vengono rilevate almeno n modifiche.
  • /MOT:m - Attiva il monitoraggio dei file e delle cartelle sorgenti, effettuando una nuova copia dopo m minuti se vengono rilevate modifiche.
  • /RH:hhmm-hhmm - Specifica un intervallo di orari nei quali è possibile effettuare nuove copie.
  • /PT - Controlla che ci si trovi nell'intervallo di orari specificato da /RH per ogni file invece che per ogni passaggio.
  • /IPG:n - Specifica lo scarto tra pachetti in millisecondi, per liberare larghezza di banda sulle linee lente.
  • /SJ - Copia le giunzioni nella destinazione invece delle cartelle a cui fanno riferimento.
  • /SL - Copia i collegamenti simbolici nella destinazione invece dei file o delle cartelle a cui fanno riferimento.
  • /MT[:n] - Utilizza il multithreading, dove n è il numero di thread. Il numero di thread è compreso tra 1 e 128. Di default, n è impostato a 8.
  • /DCOPY:flag - Specifica le proprietà da copiare e mantenere nelle nuove cartelle (directory). Al posto di flag, specificare una o più tra le seguenti lettere (default è DA):
    • D - Data di ultima modifica.
    • A - Attributi.
    • T - Timestamp.
    • E - EA (extended attribute, attributo esteso).
    • X - Salta flussi di dati alternativi.
  • /NODCOPY - Copia non conservando alcuna proprietà delle cartelle originali.
  • /NOOFFLOAD - Copia i file senza usare la funzione di offload della copia di Windows.
  • /COMPRESS - Richiede la compressione di rete durante il trasferimento dei file (se applicabile).
  • /SPARSE - Conserva l'attributo sparso quando si copia un file sparso.

Opzioni di strozzatura della larghezza di banda (I/O throttling) per la copia dei file:

  • /IOMAXSIZE:n[K|M|G] - Specifica le dimensioni massime di input/output richieste per ciclo di lettura e scrittura in byte, kilobyte, megabyte o gigabyte. Notare che le dimensioni specificate potrebbero essere modificate da ROBOCOPY.
  • /IORATE:n[K|M|G] - Specifica la frequenza di input/output richiesta in byte, kilobyte, megabyte o gigabyte al secondo. Notare che le dimensioni specificate potrebbero essere modificate da ROBOCOPY.
  • /THRESHOLD:n[K|M|G] - Specifica la soglia per le dimensioni per attivare le opzioni di limitazione in byte, kilobyte, megabyte o gigabyte.

Opzioni per la selezione dei file:

  • /A - Copia solo i file con attributo di archivio.
  • /M - Copia solo i file con attributo di archivio e reimposta l'attributo.
  • /IA:attr - Copia solo i file con gli attributi specificati come sequenza di lettere. Alcuni attributi utilizzabili con questa opzione sono R, A, S, H, C, N, E, T, O (vedi ATTRIBATTRIB e DIRDIR per delle liste complete delle lettere degli attributi e i loro significati).
  • /XA:attr - Esclude dalla copia i file che non hanno gli attributi specificati come sequenza di lettere. Gli attributi utilizzabili per questa opzione sono gli stessi di /IA.
  • /XF file [...] - Esclude dalla copia i file che non corrispondono ai nomi o percorsi specificati. È possibile usare caratteri jolly.
  • /XD cartella [...] - Esclude dalla copia le cartelle che non corrispondono ai nomi o percorsi specificati. È possibile usare caratteri jolly.
  • /XC - Esclude dalla copia i file modificati.
  • /XN - Esclude dalla copia i file più nuovi e recenti.
  • /XO - Esclude dalla copia i file più vecchi.
  • /XX - Esclude dalla copia i file e le cartelle supplementari, ovvero quelli presenti nella destinazione ma non nella sorgente. Questo significa che questi file non verranno eliminati dalla destinazione.
  • /XL - Esclude dalla copia i file e le cartelle solitari, ovvero quelli presenti nella sorgente ma non nella destinazione. Questo significa che, dopo aver effettuato una copia, eventuali file aggiunti alla sorgente non verranno copiati.
  • /IS - Include nella copia i file identici (in termini di nome, grandezza, data e attributi).
  • /IT - Include nella copia i file variati (ovvero con stesso nome, grandezza data ma diversi attributi).
  • /MAX:n - Esclude dalla copia i file di dimensione superiore a n byte. È possibile specificare i prefissi per multipli binari K, M o G.
  • /MIN:n - Esclude dalla copia i file di dimensione inferiore a n byte. È possibile specificare i prefissi per multipli binari K, M o G.
  • /MAXAGE:n_o_data - Esclude dalla copia i file con data di ultima modifica precedente a quella specificata o più vecchi del numero di giorni specificato.
  • /MINAGE:n_o_data - Esclude dalla copia i file con data di ultima modifica successiva a quella specificata o più recenti del numero di giorni specificato.
  • /MAXLAD:n_o_data - Esclude dalla copia i file con data di ultimo accesso precedente a quella specificata o con accesso più vecchio del numero di giorni specificato.
  • /FFT - Imposta la modalità oraria dei file FAT (FAT file time, con granularità di due secondi).
  • /DST - Tiene conto delle differenze dovute al cambiamento di orario, ad esempio per l'ora legale.
  • /XJ - Esclude dalla copia i collegamenti simbolici e i punti di giunzione.
  • /XJD - Esclude dalla copia i collegamenti simbolici per le cartelle (ma non per i file) e i punti di giunzione.
  • /XJF - Esclude dalla copia i collegamenti simbolici per i file.
  • /IM - Include nella copia i file modificati, ovvero quelli che tra sorgente e destinazione hanno orari di modifica diversi, ma sono altrimenti uguali. Senza /IM, questi file non vengono copiati. Quest'opzione ha effetto solo se il filesystem di sorgente e destinazione supportano i timestamp delle modifiche, come ad esempio i volumi NTFS.

Opzioni per la gestione dei nuovi tentativi di copia:

  • /R:n - Specifica il numero di ulteriori tenativi per le copie non riuscite (default è 1000000).
  • /W:t - Specifica il tempo di attesa in secondi tra un tentativo e il successivo (default è 30 s).
  • /REG - Imposta i valori per le opzioni /R e /W come predefiniti salvandole nel registro di sistema (RegEdit).
  • /TBD - Attende la definizione dei nomi di condivisione (errore 67).
  • /LFSM[:n[K|M|G]] - Abilita la modalità spazio in esaurimento, che mette in pausa la copia dei file quando lo spazio disponibile in un volume raggiunge un certo valore minimo. Se viene specificato n, imposta le dimensioni minime dello spazio in esaurimento in byte, kilobyte, megabyte o gigabyte. Di default, questo valore è impostato al 10% dello spazio di archiviazione del volume. Quest'opzione non è compatibile con le opzioni /MT (multithreading) e /EFSRAW.

Opzioni di visualizzazione:

  • /L - Elenca i file da copiare o spostare, senza eseguire l'operazione.
  • /X - Elenca anche i file supplementari.
  • /V - Abilita la modalità dettagliata (verbosa).
  • /TS - Visualizza i timestamp dei file sorgente.
  • /FP - Visualizza il percorso completo dei file copiati.
  • /BYTES - Visualizza le dimensioni in byte dei file copiati.
  • /NS - Non visualizza le dimensioni dei file copiati.
  • /NC - Non visualizza le classi dei file copiati.
  • /NFL - Non visualizza i nomi dei file copiati.
  • /NDL - Non visualizza i nomi delle cartelle copiate.
  • /NP - Non visualizza le percentuali di completamento della copia.
  • /ETA - Non visualizza il tempo rimanente stimato (ETA, Estimated Time of Arrival) per il completamento delle copie dei file.
  • /LOG:file - Specifica il file di log nel quale visualizzare le informazioni relative all'operazione di copia, invece di visualizzarle nella console (se il file specificato esiste, viene sovrascritto).
  • /LOG+:file - Specifica il file di log nel quale visualizzare le informazioni relative all'operazione di copia (se il file specificato esiste, aggiunge le informazioni alla fine del file).
  • /UNILOG:file - Specifica il file di log nel quale visualizzare le informazioni relative all'operazione di copia, usando il formato UNICODE (se il file specificato esiste, viene sovrascritto).
  • /UNILOG+:file - Specifica il file di log nel quale visualizzare le informazioni relative all'operazione di copia, usando il formato UNICODE (se il file specificato esiste, aggiunge le informazioni alla fine del file).
  • /TEE - Le informazioni relative alla copia vengono sia visualizzate nella console che registrate nel file di log.
  • /NJH - Non visualizza l'intestazione del processo.
  • /NJS - Non visualizza il riepilogo del processo.
  • /UNICODE - Visualizza le informazioni sulla copia in formato UNICODE.

Opzioni per i processi:

  • /JOB:nomejob - Specifica il file nel quale sono stati salvati le opzioni per il processo con /SAVE.
  • /SAVE:nomejob - Specifica il file nel quale salvare le opzioni per il processo, da usare poi con /JOB. Perché abbia effetto, è necessario che questa opzione sia inserita prima delle opzioni di copia, di tentativi e di visualizzazione.
  • /QUIT - Visualizza le opzioni senza effettuare la copia.
  • /NOSD - Informa che non è stata specificata alcuna cartella sorgente.
  • /NODD - Informa che non è stata specificata alcuna cartella di destinazione.
  • /IF - Include nelle opzioni da salvare anche i file specificati.

Esempio: Effettua un backup della cartella C:\Bunker in una cartella di archiviazione cloud che si trova nel percorso condiviso \\BackupServer\CloudStorage (in formato UNC), specificando di eseguire il mirroring (eliminando cartelle e file nella destinazione che non esistono nel percorso originale), sfruttando il multithreading a 16 thread, specificando 3 tentativi per le copie non riuscite con un'attesa di 10 secondi, ignorando le cartelle chiamate Temp e Logs e i file con estensione .tmp, .log e .iso, utilizzando la modalità di riavvio (utile se la connessione al server non è stabile), attivando la modalità dettagliata, mostrando le informazioni sulla copia sia sulla console sia sul file C:\Reports\Robocopy_Salvataggio.log (senza che venga sovrascritto), mantenendo i timestamp delle cartelle originali e tutte le proprietà dei file originali:

robocopy "C:\Bunker" "\\BackupServer\CloudStorage" /mir /mt:16 /r:3 /w:10 /xd "Temp" "Logs" /xf "*.tmp" "*.log" "*.iso" /z /v /tee /log+:C:\Reports\Robocopy_Salvataggio.log /dcopy:t /copyall

Commenti