sviluppo-web-qa.it

Qual è il comando da riga di comando di Windows per copiare i file?

Qual è il comando Prompt di Windows per copiare i file?

Devo spostare un file dalla posizione A alla posizione B. Inoltre, se la cartella per la posizione B non esiste, voglio averla creata.

Ho bisogno che questo sia una riga di comando in modo da poterlo automatizzare.

La versione di Windows è XP.

35
David Basarab

Il comando xcopy è quello che stai cercando. Esempio:

xcopy source destination /E /C /H /R /K /O /Y

Il comando sopra copierà l'origine nella destinazione, i file e le directory (compresi quelli vuoti), non si fermerà in caso di errore, copierà i file nascosti e di sistema, sovrascriverà i file di sola lettura, conserverà gli attributi e le informazioni di proprietà/ACL e sopprimerà il chiedendo di sovrascrivere i file di destinazione esistenti.

/E    Copies directories and subdirectories, including empty ones.
      Same as /S /E. May be used to modify /T.
/C    Continues copying even if errors occur.
/H    Copies hidden and system files also.
/R    Overwrites read-only files.
/K    Copies attributes. Normal Xcopy will reset read-only attributes.
/O    Copies file ownership and ACL information.
/Y    Suppresses prompting to confirm you want to overwrite an
      existing destination file.

Per ulteriori informazioni digitare xcopy /? e la tua riga di comando.

47
user1797

Uso md per creare la cartella (va bene se esiste già)

Uso copia o mossa per i file e xcopy per le cartelle

8
Dani

In un file batch:

if not exists locationB\nul mkdir locationB
copy locationA\file locationB

if not exists controlla il parametro per vedere se esiste, ma funziona solo sui file. Per verificare l'esistenza di un directory, è necessario cercare un 'pseudo-file' chiamato "nul" - il controllo dell'esistenza di questo file restituirà sempre true se la directory esiste.

La riga di copia copia il file chiamato file nella directory locationA in locationB e assegna al file la stessa cosa. Se vuoi rinominare il file contemporaneamente, puoi farlo anche tu:

copy locationA\file locationB\newfilename
2
Graeme Perrow

Se desideri sincronizzare la copia e altre funzionalità avanzate (ignora determinate cartelle, includi solo determinati caratteri jolly), guarda robocopy. Incluso in Vista e oltre, opzionale (dagli strumenti del kit di risorse) nelle versioni precedenti.

2
Richard

Usa ROBOCOPY se stai creando script di backup. la xcopy è stata deprecata e probabilmente sarà gradualmente eliminata nel prossimo futuro. robocopy può fare tutto ciò che xcopy può fare. È anche più flessibile e affidabile. La creazione di script con robocopy li renderà a prova di futuro.


  1. Usa robocopy per copiare facilmente le cartelle. Il comando robocopy sostituisce il comando xcopy. Può copiare rapidamente intere cartelle senza doversi preoccupare di definire il contenuto. Ad esempio, per copiare tutto il contenuto della directory C:\tools nella nuova cartella D:\backup\tools, immettere quanto segue:

    robocopy C:\tools D:\backup\tools /e
    

    Il modificatore/e dice a robocopy di includere tutte le sottodirectory. Questo include cartelle vuote. robocopy copia automaticamente i file nascosti e di sistema. Creerà nuove directory se non esistono nella posizione di destinazione.

  2. Mirroring di una directory. Il mirroring di una directory è ottimo per eseguire i backup. L'opzione mirror di robocopy copierà tutti i contenuti dall'origine alla destinazione. Quindi eliminerà qualsiasi cosa nella destinazione che non esiste alla fonte. Ciò garantisce che il backup disponga solo delle ultime versioni dei file. Ad esempio, per eseguire il mirroring di C:\Users\My Documents su D:\backup\My Documents, immettere quanto segue: [4]

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /mir
    

    Questa funzione conserverà tutte le autorizzazioni dei file originali.

  3. Abilita il riavvio. È possibile che si desideri includere la possibilità di riavviare il processo nel caso in cui la connessione venga interrotta durante la copia.

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /z
    
  4. Registra il processo di copia. robocopy ti consente di creare un file di registro. Questo può aiutarti a individuare i problemi o generare un archivio di ciò che è stato copiato.

    robocopy "C:\Users\My Documents" "D:\backup\My Documents" /log+:<filename>.txt
    

    Il modificatore/log + aggiungerà il file di registro esistente invece di sovrascriverlo. Se preferisci sovrascrivere il vecchio file di registro, usa /log:.txt.

2
Program-Me-Rev

xcopy creerà la struttura di directory per te. Il trucco è usare l'opzione/I e lanciare un asterisco alla fine del nome del file in modo che xcopy pensi che stai copiando più file, altrimenti ti chiede se il nome di destinazione è il nome del file desiderato o il nome della directory che desideri . Per esempio.

xcopy /I c:\<SourceDir>\<SourceFile> c:\<TargetDirThatDoesNOTExist>

Guarderei anche RoboCopy, ma è necessario ottenerlo dal kit di risorse in quanto non è in Windows fino a Vista.

0
WaldenL