copy, xcopy, robocopy
Tre comandi per copiare file. Per qualsiasi uso serio, robocopy è la scelta migliore.
copy
Semplice, per singoli file. Non copia le cartelle.
copy file.txt D:\Backup\
copy file.txt nuovo.txt
copy *.txt D:\Backup\
copy /y file.txt D:\Backup\
copy a.txt + b.txt unito.txt
/y sovrascrive senza chiedere. a.txt + b.txt concatena i file.
xcopy
Copia anche cartelle e sottocartelle. Considerato superato.
xcopy C:\Origine D:\Dest /E /I /H /Y
| Opzione | Significato |
|---|---|
/E | Include sottocartelle, anche vuote |
/I | Se la destinazione non esiste, la considera una cartella |
/H | Copia anche file nascosti e di sistema |
/Y | Non chiede conferma di sovrascrittura |
/D | Copia solo file più recenti |
robocopy
Robusto, veloce, riprende dopo gli errori. Ideale per backup e migrazioni.
robocopy C:\Origine D:\Dest /E
robocopy C:\Origine D:\Dest /MIR
robocopy C:\Origine D:\Dest /E /R:3 /W:5 /LOG:copia.log
robocopy C:\Origine D:\Dest /E /MT:16
robocopy C:\Origine D:\Dest /E /XD node_modules .git /XF *.tmp
| Opzione | Significato |
|---|---|
/E | Sottocartelle, anche vuote |
/MIR | Specchio: la destinazione diventa identica all'origine, eliminando ciò che non c'è più nell'origine |
/COPYALL | Copia dati, attributi, permessi, proprietario, audit |
/R:n | Numero di tentativi in caso di errore (predefinito: 1 milione) |
/W:n | Secondi di attesa tra i tentativi (predefinito: 30) |
/MT:n | Copia multi-thread (n da 1 a 128) |
/XD | Esclude cartelle |
/XF | Esclude file |
/LOG:file | Scrive un log |
/L | Simulazione: mostra cosa farebbe senza copiare |
/Z | Modalità riavviabile (utile in rete) |
Attenzione
/MIRcancella i file in destinazione che non esistono più in origine. Prova sempre prima con/L.- Origine e destinazione invertite con
/MIRpossono distruggere i dati. - I codici di uscita di robocopy sono particolari: da 0 a 7 indicano successo (con varie sfumature), 8 o più errori.
Esempio di backup
robocopy "C:\Users\Michele\Documenti" "D:\Backup\Documenti" /MIR /R:2 /W:5 /MT:8 /LOG+:C:\Backup\backup.log /NP
/LOG+ aggiunge al log invece di sovrascriverlo, /NP evita l'output della percentuale.