2013-05-30 58 views
7

bạn sẽ vui lòng cho tôi kno làm thế nào tôi có thể sao chép nhiều thư mục nằm ở địa điểm khác nhau để một directoy sao lưulàm thế nào để sao chép nhiều file vào một thư mục sử dụng xcopy

nguồn (thư mục) là D: \ share \ t1, D : \ mới \ t3, C: \ phương tiện truyền thông \ t4 F: \ cứu \ ngân hàng thư mục đích là C: \ chia sẻ \ backup

cảm ơn trước

+0

thể trùng lặp của [Sao chép tập tin với Folder của họ vào một thư mục sử dụng Xcopy] (http://stackoverflow.com/questions/7304359/copy- files-with-their-folder-in-another-directory-using-xcopy) –

Trả lời

6

Tại sao không phải là một vòng lặp for? Tôi yêu nó và nó là phù hợp nhất cho câu hỏi phức tạp này:

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

Nếu bạn đính kèm đường dẫn trong dấu ngoặc kép và sử dụng "%% ~ a" thì điều này cho phép người dùng sử dụng các phần tử tên đường dẫn dài cũng như tên đường dẫn ngắn. – foxidrive

+0

Cảm ơn một triệu, điều này cho vòng lặp hoạt động hoàn hảo, chỉ có một vấn đề nhỏ mà tôi chắc chắn có thể được cố định bằng cách sử dụng một tùy chọn khác nhưng tôi không chuyên gia như bạn – user2434611

+0

Điều gì "vấn đề nhỏ", xin vui lòng giải thích. – Endoro

0

Bạn có thể sử dụng một vòng lặp for để làm điều này.

Hãy thử:

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

Không, bạn không biết. Đây là danh sách các tên thư mục được mã hóa cứng. Không có lợi thế (hoặc * cần *) cho một vòng lặp; bạn có thể đạt được điều tương tự g với r dòng riêng biệt, và làm cho nó dễ dàng hơn để đọc và duy trì. Vòng lặp chỉ cần thiết nếu nội dung biến đổi. –

+0

@Ken White - bạn nói đúng. Tôi nghĩ rằng đây là rất nhiều dễ đọc nhưng tôi viết rất nhiều tập tin thực thi. Tôi đã cập nhật câu trả lời của mình. –

Các vấn đề liên quan