回答:
R =読み取り専用:ほとんどのソフトウェアは、読み取り専用とマークされたファイルを見ると、そのファイルの削除または変更を拒否します。これは非常に簡単です。たとえば、読み取り専用ファイルを削除しようとすると、DOSは「アクセスが拒否されました」と表示します。一方、Windows Explorerは喜んでそれを起動します。中には、確認を求めた後でのみファイルを変更または削除できるものもあります。
H =非表示:これもかなり一目瞭然です。ファイルが非表示としてマークされている場合、通常の状況下では表示されません。前の例で示したように、特別なフラグを使用しない限り、DOSは「DIR」と入力してもファイルを表示しません。
S = System:このフラグは、システムで使用される重要なファイルにタグを付けるために使用され、ディスクから変更または削除しないでください。本質的に、これは「より深刻な」読み取り専用フラグのようなもので、ほとんどの場合この方法で処理されます。また、「超隠し」属性でもあります。「隠しファイルを表示する」を有効にしても、システムファイルは表示されません。(「保護されたオペレーティングシステムファイルを非表示にする」を無効にすることで表示できます。)
D =ディレクトリ:これは、ファイルを記述するエントリと、現在のディレクトリ内のサブディレクトリを記述するエントリを区別するビットです。理論的には、このビットを変更することにより、ファイルをディレクトリに変換できます。もちろん、実際には、これを実行しようとすると混乱が生じます。ディレクトリのエントリは特定の形式である必要があります。
A =アーカイブ:これは、ファイルを変更するソフトウェアアプリケーションとバックアップに使用されるソフトウェアアプリケーション間の「通信リンク」として使用される特別なビットです。ほとんどのバックアップソフトウェアでは、最後のバックアップ以降に変更されたファイルのみをバックアップ用に選択する増分バックアップを実行できます。このビットは、この目的に使用されます。バックアップソフトウェアがファイルをバックアップ(「アーカイブ」)すると、アーカイブビットがクリアされます(ゼロになります)。その後ファイルを変更するソフトウェアは、アーカイブビットを設定することになっています。次に、バックアップソフトウェアを次に実行するときに、アーカイブビットを調べることで、どのファイルが変更されたか、したがってどのファイルをバックアップする必要があるかがわかります。繰り返しますが、このビットの使用は「任意」です。バックアップソフトウェアは、アーカイブビットを適切に使用するために他のソフトウェアに依存しています。一部のプログラムでは、アーカイブ属性を設定せずにファイルを変更できますが、幸いなことにほとんどのソフトウェアは「適切に動作し」、ビットを適切に使用します。それでも、重要なファイルを確実にバックアップするために、このメカニズムに絶対に頼るべきではありません。
上記のリストにないもの:
C =圧縮:圧縮ファイル/フォルダーは暗号化できません。
E =暗号化:暗号化されたファイル/フォルダーは圧縮できません。
N =インデックスなし
L =再解析ポイント
O =オフライン
P =スパースファイル
I =コンテンツインデックスが作成されていない
T =一時的
組み合わせが可能です。たとえば、HSA =非表示、システム、アーカイブ
Let- Bit
ter masks Description and notes
--- -------- ---------------------------------------------------------------
R 0x1 Read-only
H 0x2 Hidden
S 0x4 System
(V) 0x8 Volume label (obsolete in NTFS and must not be set)
D 0x10 Directory
A 0x20 Archive
X 0x40 Device (reserved by system and must not be set)
N 0x80 Normal (i.e. no other attributes set)
T 0x100 Temporary
P 0x200 Sparse file
L 0x400 Symbolic link / Junction / Mount point / has a reparse point
C 0x800 Compressed
O 0x1000 Offline
I 0x2000 Not content indexed (shown as 'N' in Explorer in Windows Vista)
E 0x4000 Encrypted
(Attributes introduced in Windows 8:)
(V) 0x8000 Integrity (ReFS volume only)
- 0x10000 Virtual (reserved by system and must not be set)
(X) 0x20000 No scrub (ReFS volume only)
(Attributes introduced in Windows 10, version 1703 (Creators Update):)
- 0x40000 Recall on open
(P) 0x80000 Pinned (OneDrive "always available files")
(U) 0x100000 Unpinned (OneDrive "online-only files")
- 0x200000 (Unused and reserved)
- 0x400000 Recall on data access
Windowsエクスプローラーに表示される属性(Windows 7以降):(
RHSDAXNTPLCOIE
'X' = Device; 'P' = Sparse)
「attrib」コマンドの出力に表示される属性(Windows 10バージョン1703以降):(
A__SHR_OI_VX_P_U__
「V」=整合性、「X」=スクラブなし、「P」=ピン留め)
「%〜a1」(FOR %%I IN (files) DO ECHO.%%~aI
)の出力(Windows 10バージョン1703以降)に表示される属性:(
drahscotl-x
'X' = No scrub)
NTFSファイル属性の信頼できる参照:https : //msdn.microsoft.com/en-us/library/windows/desktop/gg258117(v=vs.85).aspx
PinnedおよびUnpinned属性は、上記のリファレンスでは現在文書化されていませんが、OneDriveでの「常に利用可能なファイル」および「オンラインのみのファイル」としての使用については、このドイツ語の記事に記載されています。2つの属性は、Windows 10バージョン1703以降の「attrib」で変更できます。属性は、Windowsエクスプローラーの属性列ではなく、ステータス列のOneDriveステータスアイコンに表示されます。
私はまだインターネットでこれを見つけていませんが、スパースファイルに対応する「P」属性もあります。このフラグはWindows 7にリストされていますが、Windows XPにはリストされていません。Vistaについてはわかりません。
fsutil sparse setflag FILENAME
コマンドでファイルをスパースにすると、エクスプローラーにフラグが表示されます。ただし、フラグをオフにする方法はありません。
スパースファイルは圧縮ファイルに似ていますが、もう少し具体的です。スパースファイルでは、長い範囲のnull(値0)バイトは単にディスクに保存されません。プログラムがファイルのその部分にアクセスしようとすると、ファイルシステムはその部分がディスク上にないことを確認し、代わりにヌルバイトの範囲を返します。スパースファイルの詳細については、このMSDNページを参照してください。