Làm cách nào để xóa các tệp (không hợp lệ) có dấu hai chấm trong tên của chúng trong Windows?


14

Tôi đã có một số lượng khá lớn các tệp trên ổ đĩa Windows có dấu hai chấm trong tên của chúng. (Chúng xuất phát từ việc giải nén một số tài liệu lưu trữ Unix.)

Khi tôi cố xóa chúng, Windows (XP) phàn nàn rằng tệp không tồn tại và từ chối xóa nó. Điều này xảy ra khi cố gắng xóa hoặc đổi tên nó từ explorer hoặc dòng lệnh. Tuy nhiên, chkdskkhông phàn nàn về những tập tin đó cũng như không khắc phục vấn đề.

Bất kỳ ý tưởng về làm thế nào để thoát khỏi chúng?


Nó sẽ cho phép bạn đổi tên chúng hoặc di chuyển chúng đến một vị trí khác? Nếu bạn có thể di chuyển chúng, hãy thử đặt tất cả chúng vào một thư mục, sau đó xóa thư mục đó.
nhink

Về mặt kỹ thuật, chúng hợp lệ, đó là Windows Explorer không hợp lệ ^ Trình quản lý tệp nhu cầu đặc biệt.
Alexei Averunn

Câu trả lời:


7

Bạn có thể sử dụng cú pháp này ( theo Microsoft KB 320081 ):

del "\\?\c:\path_to_file\bad:name.ext"

Xem thêm serverfault này câu hỏi về cùng một chủ đề, "tập tin xóa chứa ký tự không hợp lệ trong cửa sổ".

Tôi nghĩ rằng các tiện ích sysiternals "ntfsdos" cũ cũng có thể xóa / đổi tên các tệp này, nhưng chúng không còn có sẵn sau khi mua lại MS.


@ Hello71 (tới @Rugg Humsteader) - người dùng mới không thể nhận xét, họ chỉ có thể trả lời (hiện tại họ cần 50 điểm đại diện cho điều đó: superuser.com/faq ). Họ có thể nhận xét về câu hỏi và câu trả lời của riêng họ, mặc dù. (Chỉ để những người dùng mới khác không bị nhầm lẫn bởi yêu cầu của bạn.)
michael

Làm thế nào bạn có thể tạo một tập tin như vậy từ Windows?
cutrightjm

@ekaj - tập tin có thể được tạo bằng hệ điều hành khác. Tạo một ảnh chụp màn hình trong Ubuntu, nó có dấu hai chấm trong tên tệp. Sau đó mở nó trong Windows - nó sẽ không hoạt động.
XUÂN

@rxt Tôi biết. Quan điểm của tôi là nếu bạn có thể xóa nó, bạn có thể làm cho nó một số cách.
cutrightjm

3
không hoạt động với tôi trong Windows 7
Populus

8

Bạn có thể muốn thử khởi động từ Ubuntu Live CD và xóa nó từ đó.


Hôm qua tôi đã lưu một ảnh chụp màn hình trong Ubuntu, sau đó thử mở nó trong Windows VM. Nó từ chối mở, loại tập tin xấu hoặc một cái gì đó. Sau đó, tôi nhận ra nó có thể là dấu hai chấm trong tên tệp mà tôi không thể xóa trong Windows. Tôi thay đổi tên trong Nautilus, và sau đó tôi có thể mở tệp.
XUÂN

5

Đóng tất cả các tệp, nếu có mở ra, được lưu trong ổ đĩa chứa các tệp đó. Bây giờ, Mở thuộc tính ổ đĩa.

"Máy tính của tôi" -> "Nhấp chuột phải vào ổ đĩa này"> thuộc tính

Sau đó, chuyển đến tab " Công cụ " và nhấp vào " Kiểm tra ngay " trong nhãn 'Lỗi kiểm tra'.

[Bấm vào đây để xem hình ảnh] ()

Điều này sẽ ngắt kết nối ổ đĩa của bạn và sẽ quét toàn bộ ổ đĩa để tìm lỗi, cuối cùng nó sẽ xóa các tệp đó với tên bất hợp pháp. Khi hoàn thiện, nó sẽ hiển thị một thông báo cho biết một số tệp đã được sửa.

Tôi đã xóa thành công các tập tin như vậy từ đĩa cứng bên ngoài của tôi.


Tôi ước nó hiển thị cho bạn một danh sách những gì nó sẽ sửa, nhưng điều này hiệu quả với tôi trong Windows 8.1.
ToastyMallows

Điều đầu tiên đã giúp tôi, sau 20 lần thử. Điều này sử dụng chkdsk giúp sửa chữa nhiều thứ.
oshell

1

Bạn có thể dễ dàng thực hiện nó trong dòng lệnh (CMD) mà không cần bất kỳ chương trình ưa thích nào.

  1. Đổi tên tệp / thư mục bằng cách sử dụng ký hiệu ngắn cũ (ví dụ: Tên tệp, FILENA ~ 1) và. Để có ký hiệu, hãy điều hướng đến thư mục chứa thư mục / tệp có tên không hợp lệ và gõ:

    thư mục / x

  2. Đổi tên thành tên hợp lệ bằng cách sử dụng:

    ren FILENA ~ 1 fileName

  3. Bây giờ xóa tệp / thư mục hợp lệ trong CMD hoặc trong Windows explorer:

    del fileName



0

Nếu mọi thứ khác không thành công, bạn có thể cần chỉnh sửa tên trực tiếp trong NTFS.

Tôi đã thực hiện thành công với Active @ Disk Editor . Tiến hành thận trọng.

  • mở chương trình
  • chọn Khám phá máy tính của tôi
  • tìm tập tin của bạn
  • chọn Kiểm tra bản ghi tệp trên thanh nút hoặc trong menu ngữ cảnh
  • bật Cho phép chỉnh sửa nội dung trong menu thả xuống Chỉnh sửa hoặc trong menu ngữ cảnh
  • tìm tên trong cột Unicode và nhấp vào nó, ghi đè các ký hiệu xấu bằng một ký tự tốt, như ký tự hoặc dấu gạch ngang. Hãy nhớ những gì và cách bạn đổi tên, bạn sẽ cần nó trong bước tiếp theo.
  • trở về tab My Computer
  • chọn thư mục cha của tập tin trong chế độ xem dạng cây
  • chọn Kiểm tra bản ghi tệp trên thanh nút hoặc trong menu ngữ cảnh
  • trong chế độ xem dạng cây ở bên trái, tìm Thuộc tính $ A0 (in đậm), mở nó, tìm $ INDEX_ALLOCATION, Chạy dữ liệu, Cụm đầu tiên, nhấp vào giá trị, nó phải tương tác.
  • tìm tên và chỉnh sửa nó theo cách tương tự như trong bước trước. Bạn có thể cần phải cuộn xuống một chút để tìm nó nếu có nhiều tệp trong thư mục.
  • nếu bạn chắc chắn rằng mình không vô tình ghi đè lên bất kỳ dữ liệu nào khác, hãy nhấp vào Lưu. Nếu không, hãy đóng tab mà không lưu các thay đổi và cẩn thận làm lại mọi thứ.
  • khởi động lại.

Nếu tệp hoặc thư mục vẫn không thể truy cập, hãy thử chkdskngay bây giờ.


-2

Một lựa chọn khác mà bạn có thể muốn thử là mang vào CygWin , một vỏ bash cho windows. Điều này sẽ cho phép bạn áp dụng các lệnh UNIX cho các thư mục DOS của bạn.


1
Nếu bạn thường xuyên xử lý các tệp unix trên máy tính windows, thì luôn luôn nên cài đặt cygwin. Nếu không, nó có thể phù hợp với bạn tốt hơn để khởi động và xóa tệp khỏi đĩa CD trực tiếp linux khi tình huống phát sinh.
Marnix A. van Ammer

5
Thật không may, tôi đã thử cygwin và điều đó không giúp được gì. 8- {Ngay cả cygwin cũng không thể xóa các tệp.
Hans-Peter Störr

6
Các công cụ cygwin vẫn dựa vào API windows để xóa các tệp. Nếu API Windows từ chối tên tệp, không có gì có thể được thực hiện từ Windows với các công cụ tệp tiêu chuẩn. Tôi cũng khuyên bạn nên truy cập hệ thống tập tin từ một hệ điều hành thay thế.
heo

Tôi vừa thử truy cập một tệp có dấu hai chấm trên ổ đĩa ext3 với Cygwin và thậm chí nó không hoạt động.
laurent
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.