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.

¿Fue útil?

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 esta lista

Por ejemplo,

65552 = 65536 (FILE_ATTRIBUTE_VIRTUAL) + 16 (FILE_ATTRIBUTE_DIRECTORY)

y así sucesivamente.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top