FileAttributes desconocidos
-
21-09-2019 - |
Pregunta
He intentado ejecutar el siguiente código:
var top = new DirectoryInfo("C:\\");
foreach(var info in top.GetFileSystemInfos())
System.Console.WriteLine("{0}: {1}", info.Name, info.Attributes);
Me dieron el siguiente resultado:
$ Recycle.bin: oculto, sistema Directorio
ATI: Directorio
Documents and Settings: oculto, sistema, Directorio, reparsepoint , NotContentIndexed
MSOCache: sólo lectura, oculto, Directorio, NotContentIndexed
PerfLogs: Directorio
Archivos de programa: sólo lectura, Directorio
Archivos de programa (x86): 65553
Datos de programa: 73746
Recuperación: oculto, sistema, Directorio, NotContentIndexed
Información del volumen del sistema: oculto, sistema Directorio
Usuarios: sólo lectura, Directorio
Ventanas: 65552
hiberfil.sys: oculto, sistema, archivo, NotContentIndexed
pagefile.sys: oculto, sistema Archivo
La mayoría de ellos son bastante obvias. Pero, ¿qué los que están marcados en negrita media? Especialmente los numéricos para archivos de programa y Windows.
Solución
Los atributos de FileSystemInfo se toman de FileAttributes
, que es una enumeración.
-
Los números corresponden a la suma de la adición de los diversos bits juntos.
-
reparsepoint significa que hay un punto de análisis en este directorio, lo que provoca NTFS para mirar algunos datos especiales que ha sido almacenados junto con el directorio. Puede leer más sobre cómo funcionan aquí .
-
NotContentIndexed significa que si hay un servicio de indización de contenido en funcionamiento, no se verá en este directorio.
Otros consejos
Creo que, esta es una suma de atributos de
Por ejemplo,
65552 = 65536 (FILE_ATTRIBUTE_VIRTUAL) + 16 (FILE_ATTRIBUTE_DIRECTORY)
y así sucesivamente.