0

次のコードを実行しようとしました。

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

次の結果が得られました。

$Recycle.Bin: 非表示、システム、ディレクトリ
ATI: ディレクトリ
ドキュメントと設定: 非表示、システム、ディレクトリ、ReparsePointNotContentIndexed
MSOCache: 読み取り専用、非表示、ディレクトリ、NotContentIndexed
PerfLogs: ディレクトリ
プログラム ファイル: 読み取り専用、ディレクトリ
プログラム ファイル (x86): 65553
ProgramData: 73746
リカバリ: 非表示、システム、ディレクトリ、NotContentIndexed
システム ボリューム情報: 非表示、システム、ディレクトリ
ユーザー: 読み取り専用、ディレクトリ
Windows: 65552
hiberfil.sys: 非表示、システム、アーカイブ、NotContentIndexed
pagefile.sys: 非表示、システム、アーカイブ

それらのほとんどはかなり明白です。しかし、太字でマークされたものはどういう意味ですか? 特に、Program Files と Windows の数値のもの。

4

2 に答える 2

2

これは、このリストの属性の合計だと思います

例えば、

65552 = 65536 (FILE_ATTRIBUTE_VIRTUAL) + 16 (FILE_ATTRIBUTE_DIRECTORY)

等々。

于 2009-12-28T15:04:50.590 に答える
1

FileSystemInfo の属性FileAttributesは、列挙型である から取得されます。

  • 数値は、さまざまなビットを足し合わせた合計に対応します。

  • ReparsePointは、このディレクトリに再解析ポイントがあることを意味します。これにより、NTFS は、ディレクトリと共に格納されている特別なデータを参照します。それらがどのように機能するかについて詳しくは、こちらをご覧ください。

  • NotContentIndexedは、コンテンツ インデックス サービスが実行されている場合、このディレクトリを参照しないことを意味します。

于 2009-12-28T15:06:12.667 に答える