Tôi có một tệp ẩn trên bộ lưu trữ di động USB của mình (hệ thống tệp FAT).Cách đặt thuộc tính rõ ràng "X" trên các tệp có trong C#?
Tôi đang sử dụng Windows 7. Nếu tôi đi đến cửa sổ Thuộc tính của tệp này và sau đó đến tab Chi tiết, tôi sẽ thấy rằng các thuộc tính của tệp là HX
. Khi tôi chạy cmd
và sử dụng attrib
, tôi được cho biết rằng tập tin có thuộc tính H. Không có gì về X. Tôi đã thử help attrib
, nhưng vẫn không có gì về thuộc tính X.
Tôi biết rằng:
- H = ẩn
- S = Hệ thống
- A = Lưu trữ
- R = chỉ đọc
Tuy nhiên, tôi không biết X là viết tắt của cái gì. Tôi cũng đã tìm thấy những gì N and E attributes dành cho.
Wikipedia không đề cập đến thuộc tính X là gì.
Google tìm thấy hai chủ đề đề cập đến thuộc tính X:
Không có cách nào trong số này hữu ích.
Tôi muốn đọc/viết cờ này trong C#, nhưng cho đến nay tôi đã đọc tài liệu cho FileAttributes
enumeration và thử nghiệm thiết lập một số thuộc tính được liệt kê (sử dụng phương pháp File.GetAttributes
& File.SetAttributes
) trên tệp.
Không có thử nghiệm nào trong số này dẫn đến thuộc tính X hiển thị trong Thuộc tính -> Chi tiết. Vì vậy, tôi không có ý tưởng làm thế nào để tiếp cận nó, đặc biệt là kể từ khi tôi vẫn không biết những gì thuộc tính X có nghĩa là.
Vì vậy, thuộc tính X là gì và làm cách nào để đặt/xóa tệp đó trên tệp đã chọn trong C#?
Dường như tất cả các bình luận đã bị mất - Tôi đã được hỏi nếu thuộc tính X sẽ biến mất sau khi thực hiện 'chkdsk'. Không, tôi đã thực hiện' chkdsk' - không có vấn đề gì được tìm thấy và thuộc tính X vẫn còn đó e. – beam022
Tôi sẽ đoán thuộc tính tệp cố ý không hợp lệ. Có hai bit chưa được gán trong FAT32, 0x40 và 0x80. Đây chỉ là một phỏng đoán. –
Tôi nghi ngờ Hans là đúng. Lấy các thuộc tính tệp, đưa nó vào 'int', và xuất nó trong hex. Sau đó so sánh các bit thiết lập với các hằng số thuộc tính tệp: http://msdn.microsoft.com/en-us/library/windows/desktop/gg258117(v=vs.85).aspx. Điều đó sẽ cho bạn biết bit nào được đặt không đúng. Nếu bạn muốn xóa thuộc tính, hãy xóa nó trong int đó, đưa int trở lại một 'FileAttributes' và gọi' File.SetAttributes'. –