Làm cách nào để sử dụng robocopy với số lượng lớn tệp bị loại trừ?


10

Tôi muốn sử dụng robocopy để di chuyển một số lượng lớn các tệp, ngoại trừ những tệp nằm trong danh sách trắng. Danh sách trắng chứa khoảng 150 tệp có tên khác nhau. Khi tôi sao chép và dán tên tệp của danh sách trắng vào dòng lệnh (sử dụng /xftham số), bản sao sẽ cắt bớt danh sách.

c:\test> robocopy src dest *.ext /xf exclude1.ext exclude2.ext exclude3.ext ... exclude 299.ext exclude300.ext

Kết quả trong:

-------------------------------------------------------------------------------
   ROBOCOPY     ::     Robust File Copy for Windows

-------------------------------------------------------------------------------

  Started : Fri May 24 14:09:31 2013

   Source : C:\test\src\
     Dest : C:\test\dest\

    Files : *.ext

Exc Files : exclude1.ext
            exclude2.ext
            exclude3.ext
            ....
            ....
            exclude200.ext
            exclude201.ext
            exclu

và sau đó:

'exclude250.ext' is not recognized as an internal or external command,
operable program or batch file.
'exclude251.ext' is not recognized as an internal or external command,
operable program or batch file.
'exclude252.ext' is not recognized as an internal or external command,
operable program or batch file.
'exclude253.ext' is not recognized as an internal or external command,
operable program or batch file.

Thật không may, các tệp trong danh sách trắng được chọn bằng tay và không thể được lọc bằng các ký tự đại diện.

Có cách nào để khắc phục điều này?

Câu trả lời:


13

Có giới hạn về độ dài dòng lệnh (tôi nghĩ nó giống như 2048 ký tự) trong các cửa sổ.

Bạn nên tạo một tệp công việc với một tập hợp con nhỏ của danh sách loại trừ được chỉ định (sử dụng /save:filenameđối số) để lấy cú pháp, chỉnh sửa tệp để bao gồm danh sách đầy đủ, sau đó sử dụng /job:filenameđối số để chạy nó.

Để tham khảo, tài liệu cho công cụ này có thể được tìm thấy ở đây.


0

Hóa ra cú pháp tệp công việc robocopy không quá phức tạp.

Đối với tình huống cụ thể của bạn, bạn có thể đạt được những gì bạn muốn bằng cách tạo tệp công việc robocopy với nội dung sau:

/XD
exclude1.ext
exclude2.ext
exclude3.ext
....

Nếu bạn cũng muốn làm tương tự cho các tệp, thì tệp công việc bản sao của bạn sẽ trông như thế này:

/XD
exclude1.ext
exclude2.ext
exclude3.ext
....

/XF
file1.ext
file2.ext
file3.ext
....

Bằng cách sử dụng cùng một logic, bạn có thể di chuyển bất kỳ tùy chọn nào khác từ dòng lệnh vào tệp công việc.


0

hãy thử sử dụng các ký tự đại diện sau tên tệp / XF1 * .ext filename2 * .ext filename3 * .ext Điều này sẽ chỉ hoạt động nếu bạn biết rằng tên tệp là duy nhất trong toàn bộ cấu trúc. Bạn có thể thay đổi quy ước đặt tên của các tệp bạn muốn loại trừ để vượt qua giới hạn này.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.