Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Copia file e directory, incluse le sottodirectory.
Per esempi di come utilizzare questo comando, vedere Esempi.
Syntax
xcopy <Source> [<Destination>] [/w] [/p] [/c] [/v] [/q] [/f] [/l] [/g] [/d [:MM-DD-YYYY]] [/u] [/i] [/s [/e]] [/t] [/k] [/r] [/h] [{/a | /m}] [/n] [/o] [/x] [/exclude:FileName1[+[FileName2]][+[FileName3]]] [{/y | /-y}] [/z] [/b] [/j] [/compress]
Parameters
| Parameter | Description |
|---|---|
| <Fonte> | Required. Specifica il percorso e i nomi dei file da copiare. Questo parametro deve includere un'unità o un percorso. |
| [<Destinazione>] | Specifica la destinazione dei file da copiare. Questo parametro può includere una lettera di unità e due punti, un nome di directory, un nome di file o una combinazione di questi. |
| /w | Visualizza il messaggio seguente e attende la risposta prima di iniziare a copiare i file: premere un tasto qualsiasi per iniziare a copiare i file |
| /p | Chiede di confermare se si vuole creare ogni file di destinazione. |
| /c | Ignores errors. |
| /v | Verifica ogni file mentre viene scritto nel file di destinazione per assicurarsi che i file di destinazione siano identici ai file di origine. |
| /q | Elimina la visualizzazione dei xcopy messaggi. |
| /f | Visualizza i nomi dei file di origine e di destinazione durante la copia. |
| /l | Genera un elenco di file da copiare, ma non copia attivamente i file. |
| /g | Crea file di destinazione decrittografati quando la destinazione non supporta la crittografia. |
| /d [:MM-DD-YYYY] | Copia i file di origine modificati solo in o dopo la data specificata. Se non si include un valore xcopyMM-GG-AAAA, copia tutti i file di origine più recenti rispetto ai file di destinazione esistenti. Questa opzione della riga di comando consente di aggiornare i file modificati. |
| /u | Copia dall'origine i file esistenti solo nella destinazione . |
| /i | Se l'origine è una directory o contiene caratteri jolly e la destinazione non esiste, xcopy presuppone che la destinazione specifichi un nome di directory e crei una nuova directory.
xcopy Copia quindi tutti i file specificati nella nuova directory. Per impostazione predefinita, xcopy viene richiesto di specificare se la destinazione è un file o una directory. |
| /s | Copia directory e sottodirectory, a meno che non siano vuote. Se si omette /s, xcopy funziona all'interno di una singola directory. |
| /e | Copia tutte le sottodirectory, anche se sono vuote. Utilizzare /e con le opzioni della riga di comando /s e /t . |
| /t | Copia solo la struttura della sottodirectory, ovvero l'albero, non i file. Per copiare directory vuote, è necessario includere l'opzione della riga di comando /e . |
| /k | Copia i file e mantiene l'attributo di sola lettura nei file di destinazione , se presente nei file di origine . Per impostazione predefinita, xcopy rimuove l'attributo di sola lettura. |
| /r | Copia i file di sola lettura. |
| /h | Copia i file con attributi di file nascosti e di sistema. Per impostazione predefinita, xcopy non copia i file nascosti o di sistema |
| /a | Copia solo i file di origine per i quali sono impostati gli attributi del file di archivio. /a non modifica l'attributo del file di archivio del file di origine. Per informazioni su come impostare l'attributo del file di archivio utilizzando attrib, vedere Collegamenti correlati. |
| /m | Copia i file di origine per i quali sono impostati gli attributi del file di archivio. A differenza di /a, /m disattiva gli attributi dei file di archivio nei file specificati nell'origine. Per informazioni su come impostare l'attributo del file di archivio utilizzando attrib, vedere Collegamenti correlati. |
| /n | Crea copie usando i nomi di file brevi o directory NTFS. /n è necessario quando si copiano file o directory da un volume NTFS a un volume FAT o quando la convenzione di denominazione del file system FAT (ovvero 8,3 caratteri) è richiesta nel file system di destinazione . Il file system di destinazione può essere FAT o NTFS. |
| /o | Copia le informazioni sulla proprietà dei file e sull'elenco di controllo di accesso discrezionale (DACL). |
| /x | Copia le impostazioni di controllo dei file e le informazioni dell'elenco di controllo di accesso al sistema (SACL) (implica /o). |
| /exclude:FileName1[+[FileName2]][+[FileName3]( )] | Specifica un elenco di file. È necessario specificare almeno un file. Ogni file contiene stringhe di ricerca con ogni stringa in una riga separata nel file. Quando una delle stringhe corrisponde a qualsiasi parte del percorso assoluto del file da copiare, tale file viene escluso dalla copia. Ad esempio, se si specifica la stringa obj , verranno esclusi tutti i file sotto la directory obj o tutti i file con estensione .obj . |
| /y | Elimina la richiesta di confermare che si desidera sovrascrivere un file di destinazione esistente. |
| /-y | Chiede di confermare che si desidera sovrascrivere un file di destinazione esistente. |
| /z | Copia in una rete in modalità riavviabile. |
| /b | Copia il collegamento simbolico anziché i file. Questo parametro è stato introdotto in Windows Vista®. |
| /j | Copia i file senza buffering. Consigliato per file molto grandi. Questo parametro è stato aggiunto in Windows Server 2008 R2. |
| /compress | Richiedere la compressione di rete durante il trasferimento di file, se applicabile. |
/[-]sparse |
Abilita o disabilita la conservazione dello stato sparse dei file durante il processo di copia. Se vengono specificati entrambi i parametri, /-sparse esegue l'override di /sparse. |
| /noclone | Non tenta di bloccare la clonazione come ottimizzazione. |
| /? | Visualizza la guida al prompt dei comandi. |
Remarks
Using /z
Se si perde la connessione durante la fase di copia( ad esempio, se il server che passa offline esegue la connessione), riprende dopo aver ristabilito la connessione. /z visualizza anche la percentuale di completamento dell'operazione di copia per ogni file.
Utilizzo di /y nella variabile di ambiente COPYCMD.
È possibile utilizzare /y nella variabile di ambiente COPYCMD. È possibile eseguire l'override di questo comando utilizzando /-y nella riga di comando. Per impostazione predefinita, viene richiesto di sovrascrivere.
Copia di file crittografati
La copia di file crittografati in un volume che non supporta EFS genera un errore. Decrittografare i file prima o copiare i file in un volume che supporta EFS.
Appending files
Per accodare i file, specificare un singolo file per la destinazione, ma più file per l'origine, ovvero usando caratteri jolly o file1+file2+file3 formato.
Valore predefinito per la destinazione
Se si omette la destinazione, il
xcopycomando copia i file nella directory corrente.Specifica se la destinazione è un file o una directory
Se la destinazione non contiene una directory esistente e non termina con una barra rovesciata (), viene visualizzato il seguente messaggio:
Does <Destination> specify a file name or directory name on the target(F = file, D = directory)?Premere F se si desidera copiare il file o i file in un file. Premere D se si desidera copiare il file o i file in una directory.
È possibile eliminare questo messaggio utilizzando l'opzione della riga di comando /i , che fa sì
xcopyche si supponga che la destinazione sia una directory se l'origine è più di un file o una directory.Utilizzo del comando per impostare l'attributo di archivio per i
xcopyfile di destinazioneIl
xcopycomando crea file con l'attributo archive impostato, indipendentemente dal fatto che questo attributo sia stato impostato nel file di origine. Per ulteriori informazioni sugli attributi e sull'attributo dei file, vedere Collegamenti correlati.Confronto tra
xcopyediskcopySe si dispone di un disco che contiene file nelle sottodirectory e si vuole copiarlo in un disco con un formato diverso, usare il
xcopycomando anzichédiskcopy. Poiché ildiskcopycomando copia i dischi tracciati per traccia, i dischi di origine e di destinazione devono avere lo stesso formato. Ilxcopycomando non ha questo requisito. Usarexcopya meno che non sia necessaria una copia completa dell'immagine del disco.Errore di memoria insufficiente
Un errore di "memoria insufficiente" può verificarsi se è in esecuzione
xcopyper copiare un file o una cartella il cui percorso del nome file è maggiore di 255 caratteri.Codici di uscita per
xcopyPer elaborare i codici di uscita restituiti da
xcopy, utilizzare il parametro ErrorLevel nella riga di comando if in un programma batch. Per un esempio di un programma batch che elabora i codici di uscita utilizzando if, vedere Collegamenti correlati. Nella tabella seguente sono elencati ogni codice di uscita e una descrizione.Exit code Description 0 I file sono stati copiati senza errori. 1 Non sono stati trovati file da copiare. 2 L'utente ha premuto CTRL+C per terminare xcopy.4 Errore di inizializzazione. Memoria o spazio su disco insufficiente oppure è stato immesso un nome di unità non valido o una sintassi non valida nella riga di comando. 5 Si è verificato un errore di scrittura del disco.
Examples
1. Per copiare tutti i file e le sottodirectory (incluse eventuali sottodirectory vuote) dall'unità A all'unità B, digitare:
xcopy a: b: /s /e
2. Per includere eventuali file di sistema o nascosti nell'esempio precedente, aggiungere l'opzione della riga di comando /h come indicato di seguito:
xcopy a: b: /s /e /h
3. Per aggiornare i file nella directory \Reports con i file nella directory \Rawdata che sono stati modificati dal 29 dicembre 1993, digitare:
xcopy \rawdata \reports /d:12-29-1993
4. Per aggiornare tutti i file presenti in \Reports nell'esempio precedente, indipendentemente dalla data, digitare:
xcopy \rawdata \reports /u
5. Per ottenere un elenco dei file da copiare con il comando precedente (cioè senza copiare effettivamente i file), digitare:
xcopy \rawdata \reports /d:12-29-1993 /l > xcopy.out
Il file xcopy.out elenca tutti i file da copiare.
6. Per copiare la directory \Customer e tutte le sottodirectory nella directory \\Public\Address sull'unità di rete H:, mantenere l'attributo di sola lettura e ricevere una richiesta quando viene creato un nuovo file su H:, digitare:
xcopy \customer h:\public\address /s /e /k /p
7. Per eseguire il comando precedente, assicurarsi che xcopy crei la directory \Address se non esiste e sopprimere il messaggio che appare quando si crea una nuova directory, aggiungere l'opzione della riga di comando /i come segue:
xcopy \customer h:\public\address /s /e /k /p /i
8. È possibile creare un programma batch per eseguire xcopy operazioni e utilizzare il comando batch if per elaborare il codice di uscita se si verifica un errore. Ad esempio, il programma batch seguente usa parametri sostituibili per i xcopy parametri di origine e di destinazione:
@echo off
rem COPYIT.BAT transfers all files in all subdirectories of
rem the source drive or directory (%1) to the destination
rem drive or directory (%2)
xcopy %1 %2 /s /e
if errorlevel 4 goto lowmemory
if errorlevel 2 goto abort
if errorlevel 0 goto exit
:lowmemory
echo Insufficient memory to copy files or
echo invalid drive or command-line syntax.
goto exit
:abort
echo You pressed CTRL+C to end the copy operation.
goto exit
:exit
Per usare il programma batch precedente per copiare tutti i file nella directory C:\Prgmcode e nelle relative sottodirectory per l'unità B, digitare:
copyit c:\prgmcode b:
L'interprete dei comandi sostituisce C:\Prgmcode con %1 e B: con %2, quindi utilizza xcopy con le opzioni della riga di comando /e e /s . Se xcopy rileva un errore, il programma batch legge il codice di uscita e passa all'etichetta indicata nell'istruzione IF ERRORLEVEL appropriata, quindi visualizza il messaggio appropriato ed esce dal programma batch.
9. In questo esempio vengono copiate tutte le directory non vuote, oltre ai file con l'estensione di file associata dopo il simbolo dell'asterisco.
xcopy .\toc*.yml ..\..\Copy-To\ /S /Y
rem Output example.
rem .\d1\toc.yml
rem .\d1\d12\toc.yml
rem .\d2\toc.yml
rem 3 File(s) copied
Nell'esempio precedente, questo particolare valore del parametro di origine .\toc*.yml copia gli stessi 3 file anche se i due caratteri di percorso .\ sono stati rimossi. Tuttavia, nessun file verrebbe copiato se il carattere jolly asterisco fosse rimosso dal parametro di origine, rendendolo solo .\toc.yml.