Yanıtlar:
xcopy.exe
çözüm burada. Windows'ta yerleşiktir.
xcopy /s c:\Folder1 d:\Folder2
Http://www.computerhope.com/xcopyhlp.htm adresinde daha fazla seçenek bulabilirsiniz.
xcopy
kullanımdan kaldırılmıştır ve dosya adı 254 karakterden uzun olduğunda 'Yetersiz bellek' hatasını tetikler. robocopy
Bunun yerine kullanın : robocopy C:\Folder1 D:\Folder2 /COPYALL /E
en.wikipedia.org/wiki/Robocopy
Robocopy'niz varsa,
robocopy C:\Folder1 D:\Folder2 /COPYALL /E
aksi takdirde,
xcopy /e /v C:\Folder1 D:\Folder2
"C:\My Folder\"
geçerseniz kötü bir sürprizle karşılaşabilirsiniz. Bu SS64 sayfasını çok dikkatli okumanızı tavsiye ederim. "CMD'de bir kaçış karakteri nedir" tavşan deliğine tam bir yolculuk için, bkz . Toplu Komut Dosyasında Çift Tırnaktan Kaçış .
Xcopy kullanımını öneren birçok yanıt görüyorum. Ancak bu gereksizdir. Soru, yazarın klasörün kendisinin kopyalanmasını değil, KLASÖRDEKİ İÇERİK istediğini açıkça belirttiğinden, bu durumda -:
copy "C:\Folder1" *.* "D:\Folder2"
Bunların tümü xcopy
, içinde herhangi bir alt dizin varsa kullanılabilir.C:\Folder1
md D:\Folder2
copy
komutu (istemi, Windows 10 komut) sözdizimi yanlış olduğunu söylüyor. Doğru sözdizimi şu copy "C:\Folder1\*.*" "D:\Folder2"
RoboCopy benim için işe yaramadı ve burada bazı iyi çözümler var, ancak hiçbiri XCopy anahtarlarını ve ne yaptıklarını açıklamadı. Ayrıca yolunuzun içinde boşluk olması durumunda tırnak işaretlerine ihtiyacınız vardır.
xcopy / i / e "C: \ temp \ klasör 1" "C: \ temp \ klasör 2"
İşte Microsoft'tan belgeler:
/s: Specifies to include subdirectories. Excludes empty subdirectories
/e: Copies all subdirectories, even if they are empty
/i: specifies the destination is a folder (Otherwise it prompts you)
@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
Bilgisayarımda, xcopy ve robocopy'nin de onlara giden yola ihtiyacı var, yani C: \ Windows \ System32 \ xcopy.exe
Bu yüzden basitçe "copy" kullanıyorum: copy / y .... \ Folder1 \ File.txt .... \ Folder2 \
Bilginize ... TortoiseSVN kullanıyorsanız ve tüm depoları periyodik olarak "güvenli" bir konuma xcopy (veya dizin aynası) için basit bir toplu iş dosyası oluşturmak istiyorsanız, o zaman bu, kullanmak isteyebileceğiniz özel koddur. Gizli dizinleri / dosyaları kopyalar, salt okunur öznitelikleri ve tüm alt dizinleri ve hepsinden önemlisi, girdi istemez. Klasör1 (güvenli depo) ve klasör2'yi (kullanılabilir depo) doğru atadığınızdan emin olun.
@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%
Ve işte bu millet!
Planlanan görevlerinize ekleyin ve asla geriye bakmayın.
@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
/S
boş olanlar dışında dizinleri ve alt dizinleri kopyalarken, boş olanlar /E
dahil dizinleri ve alt dizinleri kopyalar. /Q
kopyalama sırasında dosya adlarını göstermezken, kopyalama sırasında /F
tam kaynak ve hedef dosya adlarını görüntüler.
Dosyayı geçici bir klasöre kopyalayıp yapıştırmak ve sıkıştırmak ve bir smb bağlama noktasına aktarmak için bir .bat dosyası yazdım, umarım bu yardımcı olur,
@echo off
if not exist "C:\Temp Backup\" mkdir "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%"
if not exist "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP" mkdir "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP"
if not exist "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs" mkdir "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs"
xcopy /s/e/q "C:\Source" "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%"
Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs"
"C:\Program Files (x86)\WinRAR\WinRAR.exe" a "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP\ZIP_Backup_%date:~-4,4%_%date:~-10,2%_%date:~-7,2%.rar" "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\TELIUM"
"C:\Program Files (x86)\WinRAR\WinRAR.exe" a "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP\ZIP_Backup_Log_%date:~-4,4%_%date:~-10,2%_%date:~-7,2%.rar" "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\Logs"
NET USE \\IP\IPC$ /u:IP\username password
ROBOCOPY "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%\ZIP" "\\IP\Backup Folder" /z /MIR /unilog+:"C:\backup_log_%date:~-4,4%%date:~-10,2%%date:~-7,2%.log"
NET USE \\172.20.10.103\IPC$ /D
RMDIR /S /Q "C:\Temp Backup_%date:~-4,4%%date:~-10,2%%date:~-7,2%"