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


203

Tôi đã làm việc với một số mã nguồn thị giác máy tính mà tôi đã tìm thấy và không nhận ra rằng nó tạo ra một tệp bộ đệm có tên RẤT DÀI và bây giờ tôi không thể xóa 2 trong số chúng.

Tôi đã cố đổi tên nó thành một tên ngắn hơn nhưng tôi không thể làm gì với tập tin, tôi cũng đã thử 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.

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

ảnh chụp màn hình

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


Nó sẽ làm việc từ dòng lệnh với dellệnh? Một cái gì đó dọc theo dòng del *.cachenê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 làm gì cả
Chris

Về ý 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 chẳng hạn.
Ryan

1
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ẽ xóa sạch directorynamevà tất cả các tệp / thư mục con bên trong nó, vì vậy hãy thận trọng khi sử dụng :)
bitsmack

Câu trả lời:


353

Giả sử bạn đang ở trên windows:

Những gì tôi luôn luôn làm là sử dụng trạm biến áp để tạo 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 / vv chúng. Lý do điều này hoạt động là vì bản thân đường dẫn không còn chứa> 255 ký tự.

Để tạo một thư mục

  1. Bắt đầu một dấu nhắc lệnh (không cần đặc quyền quản trị viên)
  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 tabđể tự động điền tên
  3. subst j: .để tạo ra hiệp hội driveletter. (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 với các tệp .cache.
  5. Quay trở lại cửa sổ cmd của bạn và gõ 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 mẹo tôi đã học có thể rút ngắn điều này khá nhiều. Từ cửa sổ Explorer nơi bạn gặp sự cố, nhấp vào thanh địa chỉ để bạn có thể nhập vào đó, sau đó nhập cmdvà nhấn Enterđể bắt đầu một dấu nhắc lệnh tại vị trí đó, sau đó tiếp tục ở 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 explorer ở đúng đường dẫn, chỉ cần nhập vào subst j: .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à ở đó bạn đi, một ổ đĩa mới bật lên trong explorer.


26
robocopy empty_dir base_nested_dir / thanh trừng - Chỉ cần tạo một thư mục rỗng, và nói với robocopy để thanh trừng tất cả mọi thứ trong thư mục mục tiêu mà không phải là trong thư mục rỗng stackoverflow.com/a/3320317/588759
rofrol

7
Chỉ cần thử điều này và tôi không thể xóa tệp được đề cập .. Tôi sử dụng cygwin với windows, một giải pháp thay thế là xóa tệp theo cách đó: rm -R / path / in / question miễn là không có chương trình nào khác sử dụng tệp bạn tốt để đi
John

1
Tôi gặp vấn đề khi SUBST không nhận ra J: là một tham số (nó cũng không thấy bất kỳ ổ đĩa ảo nào khả dụng) vì vậy tùy chọn cygwin được đề cập bởi John hoạt động tốt.
Tisch

1
@rofrol, bạn nên đưa ra nhận xét về bản sao của mình: dễ dàng hơn nhiều so với cách tiếp cận tên thư mục khi xử lý nhiều thư mục con (như được tạo trong node_modules)
Andy Brown

1
Giải pháp của John đã làm việc rất tốt đối với tôi, chỉ cần thêm -f (tham số lực): rm -R -f / pathToDelete
Keller

67

Câu hỏi của bạn hỏi làm thế nào để xóa một tập tin 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 hơn 255 ký tự:

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

tức là nếu tệp được đặt tên là "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 - bị giới hạn bởi giới hạn ngắn hơn.


16
Đây là một câu trả lời tốt hơn so với chấp nhận trên.
Ben

3
Câu trả lời được chọn là tốt hơn vì bạn có thể xóa toàn bộ thư mục bằng phương pháp đó
mcont

2
nhưng trong windows 7 dường như DIR / x không thay đổi bất kỳ màn hình nào ở đây ... :(
gumuruh

3
Một số hệ thống tập tin NTFS KHÔNG có 8.3 tương đương. Vì vậy, điều này không luôn luôn làm việc nữa.
Ross Presser

Del / S từ CMD làm việc cho tôi ngay cả với tên lớn vào ngày 8.
Jeff

4

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

Sử dụng Unlocker http://www.filehippo.com/doad_unlocker/

Không thể xóa thư mục: Nó đang được sử dụng bởi người khác hoặc chương trình Không thể xóa tệp: Truy cập bị từ chối Đã có vi phạm chia sẻ. Các tập tin nguồn hoặc đích có thể được sử dụng. Các tập tin đượ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 được bảo vệ chống ghi và tệp hiện không được sử dụng.

Unlocker có thể giúp! Chỉ cần nhấp chuột phải vào thư mục hoặc tệp và chọn Unlocker. Nếu thư mục hoặc tập tin bị khóa, một 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!


1
Tôi đã thấy điều đó nhưng không biết liệu trình bỏ chặn có an toàn để sử dụng hay không nên tôi đã bỏ qua nó, tôi sẽ dùng thử. EDIT: không hoạt động. nó hoạt động trên các tệp khác nhưng trình bỏ 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 cả - đã sử dụng nó trong nhiều năm và đó là một tiện ích rất hữu ích. Trong trường hợp tệp hoặc thư mục có đường dẫn quá dài, nó sẽ không tìm thấy khóa xử lý nhưng sẽ cung cấp tùy chọn Xóa trong trình đơn thả xuống sau đó.
Steve Pettifer

1
Hoạt động hoàn hảo - điều thú vị là tôi đã cài đặt phần mềm này nhưng tôi đã không 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 nơi tôi đã sao chép thư mục đường nối tròn, nhưng công việc đã làm là đổi tên từng thư mục cấp thành một ký tự như 1mọi cách và sau đó xóa nó.
Daniel Sokolowski

Đây là câu trả lời duy nhất phù hợp với tôi (Tôi đang sử dụng windows 10). Cảm ơn rât nhiều!
dùng26832

4

Microsoft đã có một bài viết cơ sở kiến thức bổ ích về xóa các tập tin không thể xóa . Nguyên nhân số 4 có liên quan đến bạn.

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


1
Trước đây tôi chưa bao giờ nhận ra rằng tôi có thể "ánh xạ ổ đĩa mạng" đến một vị trí trên ổ 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 & 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, dễ dàng hơn đối với tôi.
RandomHandle
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.