未知的FileAttributes

时间:2009-12-28 15:01:26

标签: windows file-attributes

我尝试运行以下代码:

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

我得到了以下结果:

  

$ Recycle.Bin:隐藏,系统,目录
  ATI:目录
  文档和设置:隐藏,系统,目录, ReparsePoint NotContentIndexed
  MSOCache:ReadOnly,Hidden,Directory,NotContentIndexed
  PerfLogs:目录
  程序文件:ReadOnly,目录
  程序文件(x86): 65553
  ProgramData: 73746
  恢复:隐藏,系统,目录,NotContentIndexed
  系统卷信息:隐藏,系统,目录
  用户:ReadOnly,目录
  Windows: 65552
  hiberfil.sys:隐藏,系统,存档,NotContentIndexed
  pagefile.sys:隐藏,系统,存档

其中大多数都非常明显。但那些用粗体标记的是什么意思呢?特别是Program Files和Windows的数字。

2 个答案:

答案 0 :(得分:2)

我认为,这是this list

的属性总和

例如,

65552 = 65536 (FILE_ATTRIBUTE_VIRTUAL) + 16 (FILE_ATTRIBUTE_DIRECTORY)

等等。

答案 1 :(得分:1)

FileSystemInfo的属性取自FileAttributes,这是一个枚举。

  • 这些数字对应于将各个位加在一起的总和。

  • ReparsePoint 表示此目录上有一个重新分析点,这会导致NTFS查看与目录一起存储的一些特殊数据。您可以详细了解它们的工作原理 here

  • NotContentIndexed 表示如果正在运行内容索引服务,则不会查看此目录。