多くのファイルシステムでは、メタ情報としてファイルの属性(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つのファイルに指定することはできない。
本記事はアフィリエイトプログラムによる収益を得ている場合があります

この連載の記事
-
第533回
PC
PCの世界ではすっかり存在感が薄くなった光学メディアをあらためて整理 -
第532回
PC
モニターの情報が含まれる「VESA EDID」をWindowsで調べる方法 -
第531回
PC
Windowsのコンソール上でUnix/Linuxの標準的なコマンドを動かす「Windows CoreUtils」 -
第530回
PC
Windows 11でタスクバーの位置の移動機能が復活するのは結局どうなった? プレビュー版の現状を見る -
第529回
PC
Windowsの標準スクリプト言語であるPowerShellの現状をあらためて紹介する -
第528回
PC
Windows 11の標準機能でメモリに問題がないかを診断する -
第527回
PC
Windowsがクラッシュする原因を究明する方法 AIを活用すると結構早い -
第526回
PC
今年6月にPCが起動しなくなる心配はないが、セキュアブートが機能しないとWindowsのセキュリティ機能は一部使えなくなる -
第525回
PC
6月以降「PCが起動不可能に?」と間違った騒がれ方をしている原因の「セキュアブート」とは? -
第524回
PC
Windows Insider Programが変化 チャンネルが3つになって整理される -
第523回
PC
AI傾倒に一息入れて、既存のWindowsの改良を宣言するMicrosoft タスクバーを画面の上下左右に移動可能に!? - この連載の一覧へ












