2011-06-30 34 views
5

Tôi có một thư mục mà tôi muốn sao chép sang một thư mục khác bằng Robocopy.exe.Sử dụng Robocopy để loại trừ phần mở rộng tập tin khỏi thư mục gốc

Gói của tôi là loại trừ một vài tệp khỏi thư mục gốc của thư mục nguồn. Trong thực tế, tôi muốn CHỈ loại trừ các tệp .html khỏi ROOT của thư mục.

Bí quyết là tôi hiện đang sử dụng/E hiện đang khiến tất cả các thư mục con cũng được xử lý.

Do đó, kết quả hiện tại của hoạt động của tôi là nếu tôi sử dụng:

/E /XF "*.html" 

tôi sẽ loại trừ tất cả các file HTML của trang toàn.

Có cách nào để tôi có thể tiếp tục sao chép tất cả các thư mục con, nhưng cũng sử dụng XF để loại trừ tệp .html khỏi thư mục gốc không?

Cái gì như:

/E /XF "c:\releases\website_source\*.html" 
+0

Đó là một tình huống khó xử - về chuyển tệp nhưng xóa tệp .html khỏi đích sau đó? –

Trả lời

3

Ok, vì vậy không có lý do thực tế, tôi đã phải tìm một cách để trả lời câu này.

Tôi chỉ có thể tìm thấy một cách "phong nha" bằng cách sử dụng PowerShell và nó vẫn còn lộn xộn.

Vì vậy, đầu tiên, chỉnh sửa PowerShell sau để phù hợp với nhu cầu của bạn:

$files = Get-ChildItem c:\releases\website_source -Filter {*.html} 
"/XF" > c:\temp\exclude.rcj 
foreach ($f in $files) {$f.FullName >> c:\temp\exclude.rcj} 

Điều này tạo ra một danh sách các tập tin sau khi lệnh/XF trong một robocopy "công việc" tập tin. Sau đó gọi lệnh robocopy của bạn như bình thường nhưng thêm /job:c:\temp\exclude.rcj vào cuối của nó. Điều này về cơ bản sẽ làm cho một phức tạp/XF cho mỗi tập tin HTML gốc đơn giản hơn để viết trong kịch bản của bạn.

Lưu ý rằng bạn có thể thực hiện ở trên với một tệp lô, nhưng tôi tốt hơn với PowerShell sau đó lô cho vòng lặp và như vậy.

Có, tôi nhận ra đây là một câu hỏi hơi ngày tại thời điểm này, nhưng tôi cần một cái gì đó để làm.

4

Giải pháp của tôi sẽ không đứng đắn nhưng rất dễ hiểu. Tôi sẽ chỉ thực hiện tác vụ với một tệp hàng loạt hai dòng. Robocopy thư mục gốc (nhưng không phải thư mục con) - bao gồm các tệp .html. Sau đó, dòng Robocopy tiếp theo bao gồm tất cả các đăng ký (không bao gồm * .html)

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