2011-01-05 4 views

risposta

110

xcopy.exe è la soluzione qui. È integrato in Windows.

xcopy /s c:\Folder1 d:\Folder2 

Puoi trovare altri pasti presso http://www.computerhope.com/xcopyhlp.htm

+2

Ciao Hussain, ho provato xcopy/s c: \ Folder1 d: \ Folder2 comando in un file batch, ma non funziona per me. puoi per favore guidarmi di più – SCM

+0

Salve, potresti non avere quel xcopy sulla tua macchina .. Comunque puoi scaricare il file batch da qui http://www.brothersoft.com/xcopy-177904.html – eHussain

+1

+1 per "/ s" questo è quello che mi mancava. –

26

Se avete robocopy,

robocopy C:\Folder1 D:\Folder2 /COPYALL /E 

altrimenti,

xcopy /e /v C:\Folder1 D:\Folder2 
+1

Se copia il contenuto di Folder1, cosa si fa se si desidera copiare la cartella stessa? –

+2

@KyleDelaney include il nome della cartella di origine nella destinazione, ad es. "xcopy/e/v C: \ Folder1 D: \ Folder2 \ Folder1 \" – mghicks

2
@echo off 
::Ask 
echo Your Source Path: 
set INPUT1= 
set /P INPUT1=Type input: %=% 

echo Your Destination Path: 
set INPUT2= 
set /P INPUT2=Type input: %=% 

xcopy %INPUT1% %INPUT2% /y /s 
-2
@echo off 
:: variables 
echo Backing up file 
set /P source=Enter source folder: 
set /P destination=Enter Destination folder: 
set xcopy=xcopy /S/E/V/Q/F/H/I/N 
%xcopy% %source% %destination% 
echo files will be copy press enter to proceed 
pause 
+2

Una spiegazione del tuo codice andrà a beneficio non solo del richiedente di questa domanda, ma delle persone future che si imbattono in questa ricerca alla ricerca di una soluzione allo stesso problema. –

+3

Hai diverse bandiere che contraddicono direttamente altre bandiere. '/ S' copia le directory e le sottodirectory tranne quelle vuote, mentre'/E' copia le directory e le sottodirectory incluse quelle vuote. '/ Q' non visualizza i nomi dei file durante la copia, mentre'/F' visualizza i nomi completi dei file di origine e di destinazione durante la copia. – SomethingDark

-1

FYI ... se usi TortoiseSVN e vuoi creare un semplice file batch su xcopy (o mirror di directory) interi repository in una posizione "sicura" su base periodica, allora questo è il codice specifico che potresti voler uso. Copia su directory/file nascosti, mantiene gli attributi di sola lettura e tutte le sottodirectory e, soprattutto, non richiede input. Assicurati di aver assegnato correttamente folder1 (safe repo) e folder2 (repo utilizzabile).

@echo off 
echo "Setting variables..." 
set folder1="Z:\Path\To\Backup\Repo\Directory" 
set folder2="\\Path\To\Usable\Repo\Directory" 
echo "Removing sandbox version..." 
IF EXIST %folder1% (
    rmdir %folder1% /s /q 
) 
echo "Copying official repository into backup location..." 
xcopy /e /i /v /h /k %folder2% %folder1% 

E questo è tutto!

Aggiungi alle attività pianificate e non guardare mai indietro.

9

se si desidera rimuovere il messaggio che indica se la destinazione è un file o una cartella è sufficiente aggiungere uno slash:

xcopy /s c:\Folder1 d:\Folder2\

2

Sul mio PC, xcopy e robocopy necessità anche il percorso a loro, vale a dire C: \ Windows \ System32 \ Xcopy.exe

Ecco perché io uso semplicemente "copiare": copy/y .... \ Cartella1 \ File.txt .... \ Cartella2 \

6

vedo molte risposte suggeriscono l'uso di xcopy. Ma questo non è necessario. Dato che la questione menziona chiaramente che l'autore vuole IL CONTENUTO NELLA CARTELLA non la cartella stessa da copiare in questo caso possiamo -:

copy "C:\Folder1" *.* "D:\Folder2" 

Questo è tuttoxcopy può essere utilizzato per eventuali sottodirectory esiste in C:\Folder1

+0

Questo non funziona se la cartella su cui stai copiando non esiste ancora (credo) quindi potresti voler aggiungere 'md D: \ Folder2' –

0
@echo off 
xcopy /s C:\yourfile C:\anotherfile\ 

Ecco come è fatto! Semplice, giusto?