Câu hỏi Cách xóa tệp có đường dẫn quá dài sẽ bị xóa [trùng lặp]


Câu hỏi này đã có câu trả lời ở đây:

Tôi đã làm việc với một số mã nguồn máy tính tầm nhìn tôi tìm thấy và không nhận ra rằng nó tạo ra một tập tin bộ nhớ cache có một tên VERY LONG và bây giờ tôi không thể xóa 2 trong số họ.

Tôi đã cố gắng đổi tên thành tên ngắn hơn nhưng tôi không thể làm bất cứ điều gì với tệp, tôi cũng đã cố khởi động lại máy tính của mình và xem liệu nó có biến mất không.

Thông báo lỗi cho biết:

Đường dẫn đích quá dài.

(Các) tên tệp sẽ quá dài đối với   thư mục đích. Bạn có thể rút ngắn tên tệp và thử lại hoặc thử   vị trí có đường dẫn ngắn hơn.

screenshot

Làm thế nào tôi có thể xóa các tập tin trong trường hợp này?


192
2018-05-16 20:09


gốc


Nó sẽ làm việc từ dòng lệnh với del chỉ huy? Một cái gì đó dọc theo dòng del *.cache nên xóa tất cả các tệp .cache trong thư mục hiện tại. - Ryan
"Đường dẫn \ đến \ thư mục \ CACHEI ~ Hệ thống không thể tìm thấy tệp được chỉ định" cho biết hai lần và có 2 tệp trong đó nhưng không thực hiện bất kỳ điều gì - Chris
Suy nghĩ thứ hai, bạn có thể kiểm tra một trong những câu hỏi khác đã được trả lời. Cái này ví dụ. - Ryan
Nếu hai tệp này là những tệp duy nhất còn lại trong thư mục thì bạn có thể may mắn hơn khi xóa toàn bộ thư mục. Từ dấu nhắc lệnh, hãy thử rd /s directoryname  Điều này sẽ quét sạch directoryname và tất cả các tệp / thư mục con trong đó, vì vậy hãy sử dụng nó một cách thận trọng :) - bitsmack
youtube.com/watch?v=qQTyTprFAOg - bhv


Các câu trả lời:


Giả sử bạn đang ở trên cửa sổ:

Những gì tôi luôn làm là sử dụng trạm biến áp để tạo một liên kết ký tự ổ đĩa với một phần của đường dẫn.

Sau đó đi đến ký tự ổ đĩa mới và điều hướng đến các tệp có tên dài. Bây giờ bạn có thể đổi tên / xóa / etc chúng. Lý do là vì bản thân đường dẫn không còn chứa> 255 ký tự.

Để tạo thư mục subst

  1. Bắt đầu một dấu nhắc lệnh (không cần đặc quyền quản trị)
  2. Sử dụng cd để điều hướng đến thư mục bạn muốn đi (bạn có thể sử dụng chuyển hướng để tự động hoàn thành tên
  3. kiểu subst j: . để tạo liên kết ổ đĩa. (thay vì. bạn cũng có thể nhập toàn bộ đường dẫn)
  4. Bây giờ trong Explorer, bạn có một ký tự ổ đĩa mới trong PC này. Đi đến nó và làm bất cứ điều gì bạn cần làm để các tập tin .cache.
  5. Quay lại cửa sổ và loại cmd của bạn subst /d j: để loại bỏ ổ đĩa hoặc cách khác, khởi động lại máy tính của bạn.

EDIT: Một thủ thuật tôi đã học được có thể rút ngắn điều này một chút. Từ cửa sổ Explorer, nơi bạn gặp sự cố, hãy nhấp vào thanh địa chỉ để bạn có thể nhập vào nó, sau đó nhập cmd và hãy nhấn Đi vào để bắt đầu một dấu nhắc lệnh tại vị trí đó, sau đó tiến hành ở bước 3. :)

EDIT2: Được rồi, thủ thuật này có thể được mở rộng hơn nữa. Nếu bạn đang ở trong thám hiểm ở con đường bên phải, chỉ cần gõ subst j: . trong thanh địa chỉ và nhấn enter. Một cửa sổ lệnh sẽ bật lên, thực hiện lệnh và đóng lại, và có bạn đi, một ổ đĩa mới bật lên trong thám hiểm.


341
2018-05-16 20:20



robocopy empty_dir base_nested_dir / purge - Chỉ cần tạo một thư mục rỗng, và yêu cầu robocopy dọn sạch mọi thứ trong thư mục đích mà không có trong thư mục rỗng stackoverflow.com/a/3320317/588759 - rofrol
Chỉ cần cố gắng này và tôi không thể loại bỏ các tập tin trong câu hỏi .. Tôi sử dụng Cygwin với các cửa sổ, một giải pháp thay thế là để loại bỏ các tập tin theo cách đó: rm -R / path / in / câu hỏi miễn là không có chương trình khác đang sử dụng tập tin bạn rất tốt để đi - John
Tôi đã có một vấn đề mà SUBST đã không nhận ra J: như một tham số (nó cũng không thấy bất kỳ ổ đĩa ảo nào có sẵn) nên tùy chọn Cygwin được đề cập bởi John đã làm việc tốt. - Tisch
@rofrol, bạn nên làm cho bình luận robocopy của bạn một câu trả lời: nó là dễ dàng hơn nhiều so với làm phương pháp tiếp cận tên thư mục khi giao dịch với rất nhiều thư mục con (như những người được tạo ra trong node_modules) - Andy Brown
Giải pháp của John làm việc rất tốt cho tôi, chỉ cần thêm tham số -f (force): rm -R -f / pathToDelete - Christophe Keller


Câu hỏi của bạn hỏi cách xóa tệp khi tên tệp quá dài. Nếu đường dẫn quá dài và không chỉ tên tệp, bạn có thể dễ dàng đổi tên các thư mục để làm cho đường dẫn ngắn hơn.

Nhưng để xóa một tệp có tên dài hơn 255 ký tự:

  • Mở lời nhắc lệnh bằng cách chạy "CMD.EXE"
  • Điều hướng đến thư mục đang giữ tệp
  • Sử dụng lệnh DIR / X để hiển thị tên ngắn của các tệp.
  • Xóa bằng cách sử dụng tên viết tắt.

tức là nếu tệp có tên "verylongfilename.fil", tên ngắn sẽ hiển thị dưới dạng "verylo ~ 1.fil" và bạn có thể xóa bằng tên đó.

Xin lưu ý rằng mặc dù bản thân Windows có thể xử lý các đường dẫn dài hơn 255 ký tự, nhưng hầu hết GUI - như Windows Explorer - đều bị ràng buộc bởi giới hạn ngắn hơn.


64
2018-05-17 06:31



Đây là một câu trả lời tốt hơn so với chấp nhận trên. - Ben
Câu trả lời được chọn là tốt hơn bởi vì bạn có thể xóa toàn bộ thư mục bằng phương thức đó - mcont
nhưng trong windows 7 có vẻ như DIR / x doesnt thay đổi bất kỳ hiển thị ở tất cả ở đây ... :( - gumuruh
Một số hệ thống tập tin NTFS KHÔNG có 8,3 điểm tương đương. Vì vậy, điều này không phải lúc nào cũng hoạt động nữa. - Ross Presser
Del / S từ CMD đã làm việc cho tôi ngay cả với tên lớn trên 8. - Jeff


Googled: xóa tên tệp dài Kết quả đầu tiên

Sử dụng Trình mở khóa http://www.filehippo.com/download_unlocker/

Không thể xóa thư mục: Thư mục đang được một người hoặc chương trình khác sử dụng   Không thể xóa tệp: Truy cập bị từ chối Đã có chia sẻ   sự vi phạm. Tệp nguồn hoặc đích có thể đang được sử dụng. Tệp này là   được sử dụng bởi một chương trình hoặc người dùng khác. Đảm bảo đĩa không đầy hoặc   chống ghi và tệp hiện không được sử dụng.

Unlocker có thể giúp bạn! Chỉ cần nhấp chuột phải vào thư mục hoặc tệp và chọn   Trình mở khóa. Nếu thư mục hoặc tệp bị khóa, danh sách cửa sổ của tủ khóa   sẽ xuất hiện. Chỉ cần nhấp vào Mở khóa tất cả và bạn đã hoàn tất!


4
2018-05-16 20:18



Tôi đã thấy điều đó nhưng không biết liệu người mở khóa có an toàn để sử dụng hay không, tôi bỏ qua nó, tôi sẽ thử nó. EDIT: không hoạt động. nó hoạt động trên các tệp khác nhưng trình chặn không xuất hiện trong trình đơn thả xuống - Chris
Chắc chắn là cách đơn giản nhất để làm điều đó, mặc dù nó có thể cần khởi động lại để hoàn thành. Không có gì sai với Unlocker ở tất cả - được sử dụng nó trong nhiều năm và nó là một tiện ích rất hữu ích. Trong trường hợp của một tệp hoặc thư mục có đường dẫn quá dài, nó sẽ không tìm thấy chốt khóa nào nhưng phải cung cấp tùy chọn Xóa trong trình đơn thả xuống sau đó. - Steve Pettifer
Làm việc hoàn hảo - điều thú vị là tôi đã cài đặt phần mềm này nhưng không xảy ra với tôi để sử dụng nó trong tình huống này. - Daniel Sokolowski
Đã không làm việc cho một thư mục khác mà tôi đã sao chép một thư mục đường giao nhau hình tròn, nhưng những gì đã làm việc đã đổi tên mỗi thư mục cấp thành một ký tự như 1 và sau đó xóa nó đi. - Daniel Sokolowski
Đây là câu trả lời duy nhất làm việc cho tôi (tôi đang sử dụng windows 10). Cảm ơn nhiều! - user26832


Microsoft có một bài viết cơ sở kiến ​​thức hữu ích về xóa các tệp không thể xóa được. Nguyên nhân số 4 là mức độ phù hợp với bạn.

Đặt cược tốt nhất của bạn có thể là ánh xạ ổ đĩa vào thư mục mà tệp đang ở (độ phân giải # 3), sau đó nhập vào thông qua ổ đĩa đó và xóa nó.


2
2018-05-16 20:18



Tôi chưa bao giờ nhận ra trước đó rằng tôi có thể "ánh xạ ổ đĩa mạng" đến một vị trí trên ổ đĩa cứng của riêng tôi. Đó là những gì tôi đã làm trong Windows Explorer. Sau khi điều hướng đến ổ đĩa, tôi có thể dễ dàng xóa thư mục và nội dung. Nguyên tắc tương tự như các giải pháp giao diện điều khiển được hiển thị ở trên, nhưng đây là một giải pháp GUI nhanh chóng dễ dàng hơn cho tôi. - RandomHandle