2013-05-30 14 views
7

vuoi fatemelo kno come posso copiare più directory che si trovano in luoghi diversi per un Directoy di backupcome copiare più file in una cartella utilizzando xcopy

fonti (directory) sono D: \ share \ t1, D : \ nuova \ t3, C: \ media \ t4 F: \ salvare \ banca directory di destinazione è C: \ Shared \ backup

grazie in anticipo

+0

possibile duplicato di [Copia file con loro cartella in un'altra directory usando XCopy] (http://stackoverflow.com/questions/7304359/copy- files-with-their-folder-in-another-directory-using-xcopy) –

risposta

6

Perché non un ciclo for? Mi piace moltissimo ed è la soluzione migliore per questa domanda arcana:

For %%a in (
"D:\share\t1" 
"D:\new\t3" 
"C:\media\t4" 
"F:\save\bank" 
) do (
xcopy /s /d "%%~a" "c:\shared\backup" 
) 
+1

Se si racchiudono i percorsi tra virgolette doppie e si utilizza "%% ~ a", questo consente all'utente di utilizzare elementi di percorso lunghi e percorsi brevi. – foxidrive

+0

Grazie a milioni, questo per ciclo funziona perfettamente, solo un piccolo problema che sono sicuro può essere risolto utilizzando un'altra opzione, ma io non sono esperto come te – user2434611

+0

Che "piccolo problema", per favore spiega. – Endoro

0

è possibile utilizzare un ciclo for per fare questo.

Prova:

For %%a in (D:\share\t1,D:\new\t3,C:\media\t4,F:\save\bank) do xcopy %%a c:\shared\backup 
+0

No, non lo fai. Questo è un elenco codificato di nomi di cartelle. Non c'è alcun vantaggio (o * bisogno *) per un ciclo; puoi ottenere la stessa cosa con r linee separate e renderne più facile la lettura e la manutenzione. Il ciclo è necessario solo se il contenuto è variabile. –

+0

@Ken White - hai ragione. Penso che sia molto facile da leggere ma scrivo molti file batch. Ho aggiornato la mia risposta. –