我尝试运行以下代码:

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

我得到以下结果:

$回收站:隐藏、系统、目录
ATI:目录
文件和设置:隐藏、系统、目录、 重解析点, 未内容索引
MSO 缓存:只读、隐藏、目录、NotContentIndexed
性能日志:目录
程序文件:只读,目录
程序文件(x86): 65553
程序数据: 73746
恢复:隐藏、系统、目录、NotContentIndexed
系统容量信息:隐藏、系统、目录
用户:只读,目录
视窗: 65552
hiberfil.sys:隐藏、系统、存档、NotContentIndexed
页面文件.sys:隐藏、系统、存档

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

有帮助吗?

解决方案

属性的FileSystemInfo是从 FileAttributes, ,这是一枚举。

  • 数字对应的总和增加的各位在一起。

  • ReparsePoint 意味着有一个重分析点上这个目录,其原因NTFS来看看一些特殊的数据已经存储的目录。你可以读取更多关于它们如何工作 在这里,.

  • NotContentIndexed 意味着,如果有一个内容索引服务的运行,它就不会看这一目录。

其他提示

我认为,这是属性的总和 这个清单

例如,

65552 = 65536 (FILE_ATTRIBUTE_VIRTUAL) + 16 (FILE_ATTRIBUTE_DIRECTORY)

等等。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top