Il comando xcopy è un comando del prompt dei comandi utilizzato per copiare uno o più file o cartelle da una posizione a un' altra.
Con le sue numerose opzioni e la capacità di copiare intere directory, è simile, ma molto più potente del comando copy. Anche il comando robocopy è simile ma ha ancora più opzioni.
Disponibilità del comando Xcopy
Questo comando è disponibile dal prompt dei comandi in tutti i sistemi operativi Windows inclusi Windows 10, Windows 8, Windows 7, Windows Vista, Windows XP, Windows 98, ecc.
Puoi anche accedere al comando in MS-DOS come comando DOS.
Sintassi del comando Xcopy
Usa la seguente sintassi per il comando xcopy:
xcopy sorgente [destinazione] [ /a] [ /b] [/c ] [/d [: data] [/e ] [ /f ] [/g ] [/h ] [/i] [ /j] [ /k] [ /l] [ /m] [ /n] [ /o] [ /p] [ /q] [ /r] [ /s] [ /t] [ /u] [ /v] [ /w] [ /x] [ /y] [ /-y] [ /z] [/escludi: file1 [+ file2][+ file3]…] [ /? ]
La disponibilità di alcune opzioni dei comandi xcopy e di altre sintassi dei comandi può variare da sistema operativo a sistema operativo. Scopri come leggere la sintassi dei comandi se non sei sicuro di come leggere la sintassi sopra o nella tabella seguente.
Opzioni comando Xcopy | |
---|---|
Articolo | Descrizione |
fonte | Questo definisce i file o la cartella di livello superiore da cui vuoi copiare. La sorgente è l'unico parametro richiesto. Usa le virgolette intorno alla fonte se contiene spazi. |
destinazione | Questa opzione specifica la posizione in cui devono essere copiati i file o le cartelle di origine. Se non è elencata alcuna destinazione, i file o le cartelle verranno copiati nella stessa cartella da cui esegui il comando xcopy. Usa le virgolette intorno alla destinazione se contiene spazi. |
/a | L'uso di questa opzione copierà solo i file di archivio trovati nel sorgente. Non puoi usare /a e /m insieme. |
/b | Usa questa opzione per copiare il link simbolico stesso invece del link target. Questa opzione era disponibile per la prima volta in Windows Vista. |
/c | Questa opzione forza xcopy a continuare anche se si verifica un errore. |
/d [ : data] | Utilizzare il comando con l'opzione /d e una data specifica, nel formato MM-GG-AAAA, per copiare i file modificati a partire da tale data. È inoltre possibile utilizzare questa opzione senza specificare una data specifica per copiare solo i file nell'origine che sono più recenti degli stessi file già esistenti nella destinazione. Ciò è utile quando si utilizza xcopy per eseguire backup di file regolari. |
/e | Se usata da sola o con /s, questa opzione è la stessa di /s ma creerà anche cartelle vuote nella destinazione che erano vuoti anche nella fonte. L'opzione /e può anche essere utilizzata insieme all'opzione /t per includere directory e sottodirectory vuote trovate in source nella struttura di directory creata in destination. |
/f | Questa opzione visualizzerà il percorso completo e il nome del file sia dei file di origine che di destinazione copiati. |
/g | L'utilizzo di xcopy con questa opzione consente di copiare i file crittografati in origine su una destinazione che non supporta la crittografia. Questa opzione non funziona quando si copiano file da un'unità crittografata EFS a un'unità crittografata non EFS. |
/h | Il comando non copia i file nascosti oi file di sistema per impostazione predefinita, ma lo farà quando si utilizza questa opzione. |
/i | Usa l'opzione /i per forzare xcopy ad assumere che la destinazione sia una directory. Se non utilizzi questa opzione e stai copiando da un'origine che è una directory o un gruppo di file e stai copiando in una destinazione che non esiste, il comando xcopy ti chiederà di inserire se la destinazione è un file o una directory. |
/j | Questa opzione copia i file senza buffering, una funzione utile per file molto grandi. Questa opzione era disponibile per la prima volta in Windows 7. |
/k | Utilizzare questa opzione quando si copiano file di sola lettura per conservare l'attributo del file nella destinazione. |
/l | Usa questa opzione per mostrare un elenco dei file e delle cartelle da copiare… ma in re altà non viene eseguita alcuna copia. L'opzione /l è utile se stai costruendo un comando complicato con diverse opzioni e vorresti vedere come funzionerebbe ipoteticamente. |
/m | Questa opzione è identica all'opzione /a ma xcopy disattiva l'attributo archivio dopo aver copiato il file. Non puoi usare /m e /a insieme. |
/n | Questa opzione crea file e cartelle nella destinazione utilizzando nomi di file brevi. Questa opzione è utile solo quando si utilizza il comando per copiare i file in una destinazione esistente su un'unità formattata su un file system precedente come FAT che non supporta nomi di file lunghi. |
/o | Mantiene la proprietà e le informazioni dell'elenco di controllo di accesso (ACL) nei file scritti nella destinazione. |
/p | Quando usi questa opzione, ti verrà richiesto prima della creazione di ogni file nella destinazione. |
/q | Una specie di opposto dell'opzione /f, l'interruttore /q metterà xcopy in modalità "silenziosa", s altando l'attivazione -visualizzazione dello schermo di ciascun file in fase di copia. |
/r | Usa questa opzione per sovrascrivere i file di sola lettura nella destinazione. Se non utilizzi questa opzione quando desideri sovrascrivere un file di sola lettura nella destinazione, ti verrà chiesto con un messaggio "Accesso negato" e il comando smetterà di funzionare. |
/s | Usa questa opzione per copiare directory, sottodirectory e file in esse contenuti, oltre ai file nella radice di source. Le cartelle vuote non verranno ricreate. |
/t | Questa opzione forza il comando xcopy a creare una struttura di directory nella destinazione ma non a copiare nessuno dei file. In altre parole, verranno create le cartelle e le sottocartelle trovate nel sorgente ma non ci saranno file. Le cartelle vuote non verranno create. |
/u | Questa opzione copierà solo i file nella sorgente che sono già nella destinazione. |
/v | Questa opzione verifica ogni file come è scritto, in base alle sue dimensioni, per assicurarsi che siano identici. La verifica è stata integrata nel comando a partire da Windows XP, quindi questa opzione non fa nulla nelle versioni successive di Windows ed è inclusa solo per la compatibilità con i file MS-DOS precedenti. |
/w | Utilizzare l'opzione /w per presentare un messaggio "Premere un tasto quando si è pronti per copiare i file". Il comando inizierà a copiare i file come indicato dopo aver confermato con la pressione di un tasto. Questa opzione non è la stessa dell'opzione /p che richiede la verifica prima di ogni copia del file. |
/x | Questa opzione copia le impostazioni di controllo dei file e le informazioni SACL (System Access Control List). Implica /o quando usi l'opzione /x. |
/y | Usa questa opzione per impedire al comando di richiedere la sovrascrittura dei file dalla sorgente che esiste già nella destinazione. |
/-y | Usa questa opzione per forzare il comando a richiedere la sovrascrittura dei file. Potrebbe sembrare una strana opzione esistente poiché questo è il comportamento predefinito di xcopy ma l'opzione /y potrebbe essere preimpostata nella variabile di ambiente COPYCMD su alcuni computer, rendendo questa opzione necessaria. |
/z | Questa opzione consente al comando xcopy di interrompere in modo sicuro la copia dei file quando viene persa una connessione di rete e quindi riprendere la copia da dove era stata interrotta una volta ristabilita la connessione. Questa opzione mostra anche la percentuale copiata per ciascun file durante il processo di copia. |
/exclude: file1 [ + file2][ + file3]… | Questa opzione consente di specificare uno o più nomi di file contenenti un elenco di stringhe di ricerca che si desidera utilizzare con il comando per determinare i file e/o le cartelle da s altare durante la copia. |
/? | Usa l'interruttore della guida con xcopy per mostrare una guida dettagliata sul comando. Eseguire xcopy /? equivale a usare il comando help per eseguire help xcopy. |
Il comando xcopy aggiungerà l'attributo di archivio ai file di destinazione, indipendentemente dal fatto che l'attributo fosse attivo o meno nel file di origine.
Esempi di comandi Xcopy
Di seguito sono riportati diversi esempi di come utilizzare questo comando:
Copia file in una nuova cartella
xcopy C:\Files E:\Files /i
Nell'esempio sopra, i file contenuti nella directory di origine di C:\Files vengono copiati nella destinazione, una nuova directory sull'unità E chiamata Files.
Nessuna sottodirectory, né alcun file in esse contenuto, verrà copiata perché l'opzione /s non è stata utilizzata.
Script di backup Xcopy
xcopy "C:\File importanti" D:\Backup /c /d /e /h /i /k /q /r /s /x /y
In questo esempio, xcopy è progettato per funzionare come soluzione di backup. Prova questo se desideri utilizzare xcopy invece di un programma software di backup per eseguire il backup dei tuoi file. Inserisci il comando come mostrato sopra in uno script e pianificalo per l'esecuzione notturna.
Come mostrato sopra, il comando serve per copiare tutti i file e le cartelle [/s] più recenti di quelli già copiati [/d], comprese le cartelle vuote [/e] e i file nascosti [/h], da origine di C:\Important Files alla destinazione di D:\Backup, che è una directory . Abbiamo alcuni file di sola lettura che vogliamo mantenere aggiornati nella destinazione [/r] e vogliamo mantenere quell'attributo dopo essere stati copiati [/k]. Vogliamo anche assicurarci di mantenere tutte le impostazioni di proprietà e controllo nei file che stiamo copiando [/x]. Infine, poiché stiamo eseguendo xcopy in uno script, non abbiamo bisogno di vedere alcuna informazione sui file mentre vengono copiati [/q], non vogliamo che venga richiesto di sovrascriverli [/y], né vogliamo che il comando si interrompa se si verifica un errore [/c].
Copia di file e cartelle sulla rete
xcopy C:\Videos "\\SERVER\Media Backup" /f /j /s /w /z
Qui, il comando viene utilizzato per copiare tutti i file, le sottocartelle e i file contenuti nelle sottocartelle [/s] dall'origine di C:\Videos alla cartella di destinazione Media Backup situata su un computer in rete tramite il nome del SERVER. Stiamo copiando alcuni file video molto grandi, quindi il buffering dovrebbe essere disabilitato per migliorare il processo di copia [/j], e poiché stiamo copiando in rete, vogliamo essere in grado di riprendere la copia se perdiamo la connessione di rete [/z]. Essendo paranoici, vogliamo che venga richiesto di avviare il processo prima che faccia effettivamente qualsiasi cosa [/w], e vogliamo anche vedere ogni dettaglio su quali file vengono copiati mentre vengono copiati [/f].
Struttura cartella duplicata
xcopy C:\Client032 C:\Client033 /t /e
In questo ultimo esempio, abbiamo una fonte piena di file e cartelle ben organizzati in C:\Client032 per un client. Abbiamo già creato una cartella di destinazione vuota, Client033, per un nuovo client ma non vogliamo che nessun file venga copiato, solo la struttura della cartella vuota [/t] in modo da essere organizzati e preparati. Abbiamo alcune cartelle vuote in C:\Client032 che potrebbero essere applicabili al nuovo client, quindi vogliamo assicurarci che anche quelle vengano copiate [/e].
Salva l'output a volte lungo del comando xcopy in un file usando un operatore di reindirizzamento. Scopri come reindirizzare l'output del comando su un file o dai un'occhiata ai trucchi del prompt dei comandi per ulteriori suggerimenti.
Xcopy e Xcopy32
In Windows 98 e Windows 95 erano disponibili due versioni del comando xcopy: xcopy e xcopy32. Tuttavia, quest'ultimo comando non è mai stato concepito per essere eseguito direttamente.
Quando esegui xcopy in Windows 95 o 98, la versione originale a 16 bit viene eseguita automaticamente (in modalità MS-DOS) o la versione più recente a 32 bit (se in Windows).
Per essere chiari, indipendentemente dalla versione di Windows o MS-DOS in uso, esegui sempre il comando xcopy, non xcopy32, anche se è disponibile. Quando esegui xcopy, esegui sempre la versione più appropriata del comando.
Comandi relativi a Xcopy
Il comando xcopy è simile in molti modi al comando copy ma con molte più opzioni, come la possibilità di copiare cartelle, copiare tutti i file nelle sottodirectory ed escludere file.
Questo comando è anche molto simile al comando robocopy, tranne per il fatto che robocopy ha più flessibilità persino di xcopy.
Il comando dir viene spesso utilizzato con xcopy per controllare quali cartelle e file si trovano in una directory prima di completare il comando.