2011-01-05 11 views

Odpowiedz

110

xcopy.exe jest rozwiązaniem tutaj. Jest wbudowany w system Windows.

xcopy /s c:\Folder1 d:\Folder2 

Można znaleźć więcej opcji w http://www.computerhope.com/xcopyhlp.htm

+2

Witaj Hussain, wypróbowałem polecenie xcopy/s c: \ Folder1 d: \ Folder2 w pliku wsadowym, ale to nie działa dla mnie. czy możesz mnie poprowadzić bardziej. – SCM

+0

Witam, możliwe, że nie masz tego xcopy na komputerze .. Możesz jednak pobrać plik wsadowy tutaj http://www.brothersoft.com/xcopy-177904.html – eHussain

+1

+1 dla "/ s" tego właśnie mi brakowało. –

26

Jeśli masz robocopy,

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

inaczej,

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

Jeśli kopiujesz zawartość folderu Folder1, co zrobić, jeśli chcesz skopiować ten folder? –

+2

@KyleDelaney to nazwa folderu źródłowego w miejscu docelowym, np. "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

Wyjaśnienie kodu przyniesie korzyści nie tylko pytającemu o to pytanie, ale przyszłym ludziom, którzy natkną się na to w poszukiwaniu rozwiązania tego samego problemu. –

+3

Masz kilka flag bezpośrednio sprzecznych z innymi flagami. '/ S' kopiuje katalogi i podkatalogi, z wyjątkiem pustych, podczas gdy'/E' kopiuje katalogi i podkatalogi, w tym puste. '/ Q' nie wyświetla nazw plików podczas kopiowania, podczas gdy'/F' wyświetla pełne nazwy plików źródłowych i docelowych podczas kopiowania. – SomethingDark

-1

FYI ... jeśli używasz TortoiseSVN i chcesz utworzyć prosty plik wsadowy do xcopy (lub katalogu mirror) całe repozytoria w "bezpiecznej" lokalizacji okresowo, to jest to kod, który możesz chcieć posługiwać się. Kopiuje on nad ukrytymi katalogami/plikami, zachowuje atrybuty tylko do odczytu, a wszystkie podkatalogi, a co najważniejsze, nie monituje o dane wejściowe. Upewnij się tylko, że poprawnie przypisałeś folder1 (bezpieczne repozytorium) i folder2 (repozytorium użyteczne).

@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% 

I to wszystko ludzie!

Dodaj do zaplanowanych zadań i nigdy nie patrz wstecz.

9

jeśli chcesz usunąć ten komunikat, który mówi, jeśli cel jest plik lub folder, wystarczy dodać ukośnik:

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

2

na moim komputerze, xcopy i robocopy należy również droga do nich, czyli C: \ Windows \ System32 \ Xcopy.exe

Dlatego używam po prostu "Kopiuj": copy/y .... \ folder1 \ plik.txt .... \ Folder2 \

6

widzę wiele odpowiedzi sugerujących użycie xcopy. Ale to nie jest konieczne. Ponieważ kwestia wyraźnie wskazuje, że autor chce zawartość w katalogu nie sam folder do skopiowania w tym przypadku możemy -:

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

To wszystkoxcopy mogą być wykorzystywane do ewentualnych podkatalogu istnieje w C:\Folder1

+0

To nie działa, jeśli folder, do którego kopiujesz, jeszcze nie istnieje (tak mi się wydaje), więc możesz chcieć dodać 'md D: \ Folder2'' –

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

Tak to się robi! Proste, prawda?

Powiązane problemy