Ho un file nascosto nella memoria rimovibile USB (file system FAT).Come impostare l'attributo "X" chiaro su file con in C#?
Sto usando Windows 7. Se vado alla finestra Proprietà di questo file e poi alla scheda Dettagli, vedrò che gli attributi del file sono HX
. Quando eseguo cmd
e utilizzare attrib
, mi hanno detto che il file ha attributo H. Niente X. Ho provato help attrib
, ma ancora nulla di attributo X.
So che:
- H = nascosti
- S = sistema
- A = archivio
- R = Readonly
Tuttavia, non ho idea di cosa X significhi. Ho anche trovato quello che sono gli N and E attributes.
Wikipedia non ha menzione di quale sia l'attributo X.
Google ha trovato due argomenti di nota attributo X:
Nessuno di questi ha aiutato.
mi piacerebbe essere in grado di leggere/scrivere questo flag in C#, ma finora ho letto la documentazione per il FileAttributes
enumeration e sperimentato con l'impostazione alcuni degli attributi elencati (usando metodi File.GetAttributes
& File.SetAttributes
) sul file.
Nessuno di questi esperimenti ha comportato la visualizzazione dell'attributo X in Proprietà -> Dettagli. Quindi, non ho idea di come affrontarlo, soprattutto perché non so ancora quale sia l'attributo X.
Quindi, qual è l'attributo X e come è possibile impostarlo/cancellarlo sul file selezionato in C#?
Sembra che tutti i commenti siano andati persi - Mi è stato chiesto se l'attributo X sarebbe scomparso dopo aver eseguito 'chkdsk'. No, ho fatto il' chkdsk' - non sono stati trovati problemi e l'attributo X è ancora lì e. – beam022
Indovino a un attributo file intenzionalmente non valido. Ci sono due bit non assegnati in FAT32, 0x40 e 0x80. Questa è solo una supposizione. –
Sospetto che Hans abbia ragione. Ottieni gli attributi del file, gettalo su 'int' e stampalo in esadecimale. Quindi confronta i bit impostati con Costanti attributo file: http://msdn.microsoft.com/en-us/library/windows/desktop/gg258117(v=vs.85).aspx. Questo dovrebbe dirti quale bit è impostato in modo errato. Se si desidera cancellare l'attributo, cancellarlo in int, eseguire il cast di int a 'FileAttributes' e chiamare' File.SetAttributes'. –