多くのファイルシステムでは、メタ情報としてファイルの属性(Attribute、アトリビュート)をサポートしている。ファイル属性とは、たとえば、「読み出し専用」や「隠しファイル」などのファイルやディレクトリのあり方を示すものだ。今回は、このファイル属性を考えていく。
あらためてWindowsのファイル属性を整理する
以下の表は、Windowsのファイル属性の一覧である。左端の列挙値は、Windowsのファイルシステムで利用する属性であり、たとえば、ReFS専用の属性などもこれに含まれている。
原則的にここにあるファイル属性が現在のWindowsが扱うファイル属性である。なお、これは、Windows SDKにある「WinNT.h」で定義されている。
●ファイル属性定数 (WinNT.h)
https://learn.microsoft.com/ja-jp/windows/win32/fileio/file-attribute-constants
その横は、System.IO.FileAttributes 列挙型で定義されているもの。こちらは、.NETや.NET Framework(以下、NET版列挙型)で扱える。
●FileAttributes 列挙型
https://learn.microsoft.com/ja-jp/dotnet/api/system.io.fileattributes?view=netframework-4.8.1
ただし、.NET版列挙型は、WinNT.hで定義されているすべてのファイル属性には対応しているわけではない。とはいえ、対応していないのはOneDrive関係で追加された属性などで、それらはエクスプローラーからユーザーが手動設定したりする。
ファイル属性で注意が必要なのは、「圧縮」と「暗号化」だ。これらは属性として定義されているものの、属性を変更すれば、勝手に圧縮や暗号化がなされるのではなく、これらの処理と合わせて属性を変更する。
エクスプローラーからユーザーがプロパティを操作して設定する場合には、圧縮、暗号化(あるいは解凍、解読)処理がされるになっている。しかし、単なるファイル属性変更だけでは、処理が自動的に起動するわけではないので注意が必要だ。
ファイル属性には、整数値が対応しており、32bitで2進数表現したときにお互いにぶつからないように配置してある。このため、1つのファイル/ディレクトリに対して複数のファイル属性を設定できる。論理的には、1つのファイルやディレクトリにすべての属性を指定可能である。しかし、属性によっては、ファイルやディレクトリ、ファイルシステムなどの対象が限定されているものがあるため、すべてを1つのファイルに指定することはできない。

この連載の記事
-
第508回
PC
Scalable Vector Graphics(SVG)そもそも何なのか? -
第507回
PC
Windows 11の「開発者モード」とは何か? -
第506回
PC
Windows 11は早くも来秋登場の26H2プレビューの準備が始まる -
第505回
PC
結構変化しているWindows 11のエクスプローラーの基本設定を見直す -
第504回
PC
新しいOutlookとOutlook Classic、そろそろ古いOutlookとExchangeの組み合わせは引退の頃合いか -
第503回
PC
機能が増えたこともあり、寄せ集めから統合化に進むWindowsの便利ツール「PowerToys」 -
第502回
PC
Windows 11でBluetoothのオーディオ新規格「Bluetooth LE Audio」を試す -
第501回
PC
Windows 11 Ver.25H2での変更点、新機能を整理する -
第500回
PC
Windows 11 Ver.25H2が完成した -
第499回
PC
Windowsでの致命的だが回復可能なエラーに備える手段を2つ紹介 -
第498回
PC
Windows Terminalの安定版V1.23が公開 設定UIが改良される - この連載の一覧へ












