Câu trả lời:
xcopy.exe
là giải pháp ở đây. Nó được tích hợp vào Windows.
xcopy /s c:\Folder1 d:\Folder2
Bạn có thể tìm thấy nhiều tùy chọn hơn tại http://www.computerhope.com/xcopyhlp.htm
xcopy
không được dùng nữa và báo lỗi 'Bộ nhớ không đủ' khi tên tệp dài hơn 254 ký tự. Sử dụng robocopy
thay thế: robocopy C:\Folder1 D:\Folder2 /COPYALL /E
vi.wikipedia.org/wiki/Robocopy
Nếu bạn có bản sao
robocopy C:\Folder1 D:\Folder2 /COPYALL /E
nếu không thì,
xcopy /e /v C:\Folder1 D:\Folder2
"C:\My Folder\"
bạn có thể gặp bất ngờ khó chịu. Tôi khuyên bạn nên đọc trang SS64 rất cẩn thận. Để có một chuyến đi đầy đủ xuống hố thỏ "nhân vật thoát trong CMD" là gì, hãy xem Thoát khỏi dấu ngoặc kép trong Batch Script .
Tôi thấy rất nhiều câu trả lời gợi ý việc sử dụng xcopy. Nhưng điều này là không cần thiết. Vì câu hỏi đề cập rõ ràng rằng tác giả muốn NỘI DUNG TRONG NỀN TẢNG chứ không phải chính thư mục sẽ được sao chép trong trường hợp này, chúng ta có thể -:
copy "C:\Folder1" *.* "D:\Folder2"
Đó là tất cả xcopy
có thể được sử dụng nếu có bất kỳ thư mục con nào tồn tại trongC:\Folder1
md D:\Folder2
copy
Lệnh của tôi (dấu nhắc lệnh của Windows 10) cho tôi biết rằng cú pháp không chính xác. Sau đây sẽ là cú pháp đúng:copy "C:\Folder1\*.*" "D:\Folder2"
RoboCopy không hoạt động với tôi, và có một số giải pháp tốt ở đây, nhưng không có giải thích nào về các công tắc XCopy và những gì họ làm. Ngoài ra, bạn cần báo giá trong trường hợp đường dẫn của bạn có khoảng trắng trong đó.
xcopy / i / e "C: \ temp \ thư mục 1" "C: \ temp \ thư mục 2"
Đây là tài liệu từ Microsoft:
/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
Trên PC của tôi, xcopy và robocopy cũng cần đường dẫn đến chúng, tức là C: \ Windows \ System32 \ xcopy.exe
Đó là lý do tại sao tôi chỉ sử dụng "copy": copy / y .... \ Folder1 \ File.txt .... \ Folder2 \
FYI ... nếu bạn sử dụng TortoiseSVN và bạn muốn tạo một tệp bó đơn giản để xcopy (hoặc nhân bản thư mục) toàn bộ kho lưu trữ vào một vị trí "an toàn" trên cơ sở định kỳ, thì đây là mã cụ thể mà bạn có thể muốn sử dụng. Nó sao chép các thư mục / tập tin ẩn, duy trì các thuộc tính chỉ đọc và tất cả các thư mục con và tốt nhất, không nhắc nhở cho đầu vào. Chỉ cần đảm bảo rằng bạn chỉ định thư mục1 (repo an toàn) và thư mục2 (repo có thể sử dụng) một cách chính xác.
@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%
Và đó là folks!
Thêm vào các nhiệm vụ theo lịch trình của bạn và không bao giờ nhìn lại.
@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
sao chép các thư mục và thư mục con ngoại trừ các thư mục trống, trong khi các /E
thư mục và thư mục con được sao chép bao gồm cả các thư mục trống. /Q
không hiển thị tên tệp trong khi sao chép, trong khi /F
hiển thị tên tệp nguồn và đích đầy đủ trong khi sao chép.
Tôi đã viết một tập tin .bat để sao chép và dán tập tin vào một thư mục tạm thời và làm cho nó trở thành zip và chuyển vào một điểm gắn kết smb, Hy vọng điều này sẽ giúp ích,
@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%"