xóa thư mục đệ quy được tạo bởi robocopy khi tên tập tin quá dài


9

Sau khi chạy robocopy.exe để sao lưu thư mục C: \ Users \ mà không sử dụng /xjchuyển đổi, tôi đã kết thúc với một thư mục đệ quy quá dài. Ví dụ: nếu bạn chạy, dir /b /sbạn sẽ nhận được lỗi sau:

Tên thư mục C: \ Users \ ... \ AppData \ Local \ Application Data \ Application Data \ Application Data \ Application Data \ Application Data \ Application Data \ Application Data \ Application Data \ Application Data \ Application Data \ Application Data \ Application Data \ Application Data Dữ liệu \ Ứng dụng Dữ liệu quá dài.

Tôi đã cố xóa nó đi rmdir "Application Data" /snhưng tôi nhận được lỗi "Tên tệp quá dài"

Tôi đã xem xét các giải pháp khác, nhưng tôi nghĩ rằng tôi có thể sử dụng công cụ gây ra vấn đề để giải quyết nó.

Câu trả lời:


14

Tạo một thư mục trống với mkdir empty, sau đó sử dụng robocopy empty\ "Application Data\" /mir"sẽ loại bỏ toàn bộ cây thư mục. Sau đó, phát hành một rmdir emptyrmdir "Application Datađể làm sạch và bạn đã hoàn tất.


3
+1 Không thể tin được rằng nó đòi hỏi một thứ gì đó phức tạp này để làm một việc đơn giản như xóa một thư mục ...
nextgentech 23/03/13

Thư mục đệ quy vô hạn lỗi này đã khiến tôi phát điên! Cảm ơn bạn.
Zofren

4

Bạn có thể có thể cdxuống đủ sâu vào thư mục để xóa những gì bên dưới và cdsao lưu lên trên cùng một lần nữa và xóa những gì còn lại.

Nếu điều đó không hoạt động và bạn vẫn bị mắc kẹt, hãy tải xuống phiên bản demo miễn phí của vỏ Hamilton C của tôi (tiết lộ đầy đủ: Tôi là tác giả) và sử dụng rmtiện ích đi kèm với nó bằng cách sử dụng -r(đệ quy) và -x(xóa mọi thứ ) tùy chọn.

rm -rx directoryname

My rmsử dụng định dạng tên tệp Unicode dài mới trong nội bộ, cho phép nó xử lý các đường dẫn lên tới 32K ký tự và điều đó sẽ có được nó.

Nếu bạn phát hiện ra vấn đề cũng liên quan đến quyền, bạn có thể cần phải sử dụng sudohoặc sunâng cao, ví dụ:

sudo rm -rx directoryname

Trong các trường hợp thực sự cứng đầu, bạn có thể bị cản trở bởi một ACL ngăn chặn truy cập, ví dụ: caclscác báo cáo Everyone:(DENY). Trong trường hợp đó, bạn có thể cần phải loại bỏ ACE đó (mục kiểm soát truy cập).

cacls directoryname /e /r everyone

Cuối cùng, tôi thực sự có ý định này sẽ hữu ích. Nhật ký máy chủ của tôi cho tôi biết mọi người đang tải xuống phần mềm của tôi để thử cái này và tôi muốn nó hoạt động. Nếu bạn gặp phải trường hợp không xảy ra, tôi hy vọng bạn sẽ liên hệ để nói với tôi để tôi có thể gỡ lỗi tại sao và làm cho nó hoạt động. Những thứ bạn không thể xóa xảy ra rất nhiều và tôi muốn giải quyết tất cả các trường hợp.


3

Bạn cũng có thể thử một trong những điều sau đây;

Độ phân giải 1: Sử dụng tên 8.3 được tạo tự động để truy cập tệp

Độ phân giải 2: Đổi tên hoặc di chuyển một thư mục sâu

Độ phân giải 3: Ánh xạ ổ đĩa tới một thư mục trong cấu trúc của đường dẫn Ánh xạ ổ đĩa tới một thư mục bên trong cấu trúc đường dẫn của tệp đích hoặc thư mục. Phương pháp này rút ngắn đường dẫn ảo.

Độ phân giải 4: Sử dụng chia sẻ mạng sâu như thư mục Nếu Độ phân giải 1, 2 và 3 không thuận tiện hoặc không giải quyết được sự cố, hãy tạo một chia sẻ mạng nằm sâu trong cây thư mục nhất có thể, sau đó đổi tên các thư mục bằng cách truy cập chia sẻ.

Độ phân giải 5: Sử dụng một công cụ có thể đi qua các đường dẫn sâu

http://support.microsoft.com/kb / 320081


giải pháp này dường như là một loại "Nghị quyết 5: Sử dụng một công cụ có thể đi qua các con đường sâu"
Aaron
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.