XCOPY

(da Extended Copy)

Copia file e strutture di cartelle. Si tratta di una versione più estesa del comando COPY, ma meno avanzata del comando ROBOCOPY.

XCOPY file/cartella [destinazione] [/A | /M] [/D[:data]] [/P] [/S [/E]] [/V] [/W] [/C] [/I] [/-I] [/Q | /F] [/G] [/L] [/H] [/R] [/T [/E]] [/U] [/K] [/N] [/O] [/X] [/Y] [/-Y] [/Z] [/B] [/J] [/EXCLUDE:str[+...]] [/COMPRESS] [/SPARSE]

Dove:

  • file/cartella - Specifica un file o una cartella. Se viene specificato un file verrà copiato, se viene specificata una cartella verrà copiata la struttura di cartelle.
  • destinazione - Specifica in quale cartella copiare i file o le cartelle specificati (può essere specificato il nuovo nome nel caso sia specificato un file).
  • /A - Copia solo i file con attributo di archivio (vedi ATTRIB).
  • /M - Copia solo i file con attributo di archivio ma lo toglie nella destinazione.
  • /D:data - Copia solo i file più recenti della data specificata (gg-mm-aa). Se non è specificato solo data, verranno copiati solo i file con l'ora di origine più recente dell'ora di destinazione.
  • /P - Chiede conferma prima di copiare ogni file.
  • /S [/E] - Oltre ai file, copia cartelle e sottocartelle tranne quelle vuote. Se viene specificato /E copia cartelle e sottocartelle comprese quelle vuote.
  • /V - Verifica ogni nuovo file.
  • /W - Chiede di premere un tasto prima di copiare.
  • /C - Continua a copiare anche in caso di errori.
  • /I - Se la destinazione non esiste e la copia riguarda più file, presuppone che la destinazione sia una cartella.
  • /-I - Se la destinazione non esiste e la copia riguarda un solo file, presuppone che la destinazione sia un file.
  • /Q - Non visualizza le statistiche.
  • /F - Visualizza le statistiche.
  • /G - Permette di copiare i file criptati in una destinazione che non supporta la crittografia.
  • /L - Visualizza i file copiati.
  • /H - Copia anche i file nascosti e/o di sistema.
  • /R - Sovrascrive i file di sola lettura.
  • /T [/E] - Copia la struttura di cartelle ma non copia i file e le cartelle vuote. Se viene specificato anche /E copia la struttura di cartelle (comprese le cartelle vuote) ma non i file.
  • /U - Copia solo i file che già esistono nella destinazione.
  • /K - Copia anche gli attributi (l'impostazione predefinita è di non copiare gli attributi, tranne quelli di sola lettura).
  • /N - Copia utilizzando nomi abbreviati per i file creati.
  • /O - Copia anche le informazioni di proprietà e le ACL (vedi ICACLS).
  • /X - Copia anche le impostazioni di controllo degli eventi (implica /O).
  • /Y - Non richiede la conferma per sovrascrivere un file.
  • /-Y - Annulla /Y.
  • /Z - Copia i file da rete in modalità riavviabile.
  • /B - Copia il collegamento simbolico invece del file a cui si riferisce.
  • /J - Copia utilizzando l'I/O senza buffer. Consigliato per file molto grandi per risparmiare memoria RAM durante la copia.
  • /EXCLUDE:str[+...] Specifica che non devono essere copiati i file e le cartelle che nel percorso o nel nome file contengono la stringa specificata. Più stringhe possono essere concatenate usando il simbolo +.
  • /COMPRESS - Richiede la compressione di rete durante il trasferimento dei file (se applicabile).
  • /SPARSE - Conserva l'attributo sparso quando si copia un file sparso.

Impostando la variabile d'ambiente COPYCMD è possibile specificare /Y come opzione predefinita, che può essere disattivata usando /-Y, ad esempio (vedi FOR e SET):

rem Crea il file pippone.txt e lo copia nella cartella "che du bal"
echo superpippone > pippone.txt
for /l %%n in (1,1,1000) do @echo superpippone >> pippone.txt
xcopy pippone.txt "che du bal\pippone.txt" /-i
rem Ricopia il file, richiedendo la conferma di sovrascrizione
xcopy pippone.txt "che du bal\pippone.txt" /-i
rem Imposta COPYCMD
set copycmd=/y
rem Ricopia il file, senza chiedere la conferma di sovrascrizione
xcopy pippone.txt "che du bal\pippone.txt" /-i
rem Ricopia il file, richiedendo la conferma di sovrascrizione
xcopy pippone.txt "che du bal\pippone.txt" /-i /-y

Esempio: Copia i file e le sottocartelle (comprese quelle vuote) contenuti nella cartella C:\Lorenzo nella cartella C:\Dati personali, solo quelli più recenti del primo gennaio 2000, se non contengono nel percorso o nel nome file le stringhe lol e xd:

xcopy "C:\Lorenzo" "C:\Dati personali" /d:01-01-00 /s /e /exclude:lol+xd

Commenti

Supportando i contenuti che secondo te sono rilevanti, anche solo lasciando un commento, contribuirai a dare a questi contenuti maggiore visibilità e a rendere internet un posto più gradevole, affinché le stesse informazioni che hai trovato utili possano essere accessibili anche ad altre persone. Grazie per l'attenzione.