Fileattributes desconhecidos
-
21-09-2019 - |
Pergunta
Eu tentei executar o seguinte código:
var top = new DirectoryInfo("C:\\");
foreach(var info in top.GetFileSystemInfos())
System.Console.WriteLine("{0}: {1}", info.Name, info.Attributes);
Recebi o seguinte resultado:
$ Recycle.bin: oculto, sistema, diretório
ATI: Diretório
Documentos e configurações: oculto, sistema, diretório, ReparsePoint, NotContentIndexed
Msocache: readonly, oculto, diretório, notcontentIndexed
Perflogs: Diretório
Arquivos de programas: readonly, diretório
Arquivos de programas (x86): 65553
Dados do Programa: 73746
Recuperação: oculta, sistema, diretório, notcontentIndexed
Informações sobre volume do sistema: oculto, sistema, diretório
Usuários: READONLY, diretório
Janelas: 65552
Hiberfil.sys: Oculto, Sistema, Arquivo, NotContentIndexed
PageFile.sys: Hidden, System, Archive
A maioria deles é bastante óbvia. Mas o que significa marcado em negrito? Especialmente os numéricos para arquivos de programas e Windows.
Solução
Os atributos do FileSystemInfo são retirados de FileAttributes
, que é uma enumeração.
Os números correspondem à soma de adicionar os vários bits.
ReparsePoint significa que há um ponto reparador neste diretório, que faz com que os NTFs analisem alguns dados especiais que foram armazenados junto com o diretório. Você pode ler mais sobre como eles funcionam aqui.
NotContentIndexed significa que, se houver um serviço de indexação de conteúdo em execução, ele não analisará este diretório.
Outras dicas
Eu acho, isso é uma soma de atributos de esta lista
Por exemplo,
65552 = 65536 (FILE_ATTRIBUTE_VIRTUAL) + 16 (FILE_ATTRIBUTE_DIRECTORY)
e assim por diante.