Domanda

Ho cercato di eseguire il codice seguente:

var top = new DirectoryInfo("C:\\");
foreach(var info in top.GetFileSystemInfos())
    System.Console.WriteLine("{0}: {1}", info.Name, info.Attributes);

ho ottenuto il seguente risultato:

  

$ Recycle.Bin: Nascosto, Sistema, Elenco
  ATI: Elenco
  Documents and Settings: nascosto, di sistema, directory, ReparsePoint , NotContentIndexed
  MSOCache: ReadOnly, Hidden, Directory, NotContentIndexed
  PerfLogs: Elenco
  Programmi: ReadOnly, Elenco
  Programmi (x86): 65553
  ProgramData: 73.746
  Recupero: Nascosto, Sistema, Directory, NotContentIndexed
  System Volume Information: Nascosto, Sistema, Elenco
  Utenti: ReadOnly, Elenco
  Windows: 65552
  hiberfil.sys: Hidden, sistema, archivio, NotContentIndexed
  pagefile.sys: nascosto, sistema Archivio

La maggior parte di questi sono abbastanza evidente. Ma che cosa fa quella contrassegnata in grassetto significa? Soprattutto quelli numerici per Programmi e Windows.

È stato utile?

Soluzione

Gli attributi di FileSystemInfo sono presi da FileAttributes, che è un'enumerazione.

  • I numeri corrispondono alla somma della somma dei vari bit insieme.

  • ReparsePoint significa che c'è un punto di analisi in questa directory, che provoca NTFS per guardare alcuni dati particolari che è stato memorizzato insieme con la directory. Si può leggere di più su come funzionano qui .

  • NotContentIndexed significa che se c'è un servizio di indicizzazione di contenuto in esecuzione, non guardare a questo elenco.

Altri suggerimenti

Credo che, questa è una somma di attributi da questa lista

Ad esempio,

65552 = 65536 (FILE_ATTRIBUTE_VIRTUAL) + 16 (FILE_ATTRIBUTE_DIRECTORY)

e così via.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top