Windowsでは、フォルダーやファイルの特徴を表すための設定として、フォルダーやファイルに属性と呼ばれる情報が付与されていることがあります。
良く知られている属性としては「読み取り専用」「隠しファイル」などがありますが、フォルダーやファイルに付与されている属性は、ぱっと見では判別できません。
そこでここではWindows 10を例に、フォルダーやファイルに付与されている属性を確認したり、属性を設定する方法を紹介します。
目次
属性の一覧
フォルダーやファイルに付与されるおもな属性は、次のとおりです。
属性 | 説明 |
---|---|
R, ReadOnly | 読み取り専用属性 |
H, Hidden | 隠しファイル属性 |
S, System | システムファイル属性 |
D, Directory | ディレクトリ属性(フォルダーに付与される) |
A, Archive | アーカイブ属性 |
C, Compressed | 圧縮属性 |
E, Encypted | 暗号化属性 |
上記以外にどのような属性があるかについては、WindowsコマンドやPowerShellコマンドレットで確認することができます。
> attrib /?
PS> [System.Io.FileAttributes] | Get-Member -Static -MemberType property
フォルダーやファイルの属性を確認
フォルダーやファイルに付与されている属性を確認するときは、エクスプローラーやコマンドで確認できます。
エクスプローラーで確認
エクスプローラーで確認するときは、表示形式を「詳細」してから、表示する項目に「属性」を追加することで、以下の画面のように付与されている属性を確認できます。
たとえば、下の画像では「sample.txt」の属性が「RA」と表示されていますが、これは「R:読み取り専用属性」と「A:アーカイブ属性」が付与されていることを表しています。
Windowsコマンドで確認
Windowsコマンドで確認するときは、基本的には「attrib」コマンドを利用し、圧縮属性を確認するときは「compact」コマンド、暗号化属性を確認するときは「cipher」コマンドを利用します。
たとえば「D:¥Test」フォルダー内のフォルダーやファイルの属性を確認したいときは、次のようにコマンドを実行します。
> attrib /s /d D:\Test\*
圧縮属性が付与されているかは「compact」コマンドで確認でき、圧縮属性が付与されているフォルダーやファイルには「C」マークが表示されます。
> compact D:\Test\*
暗号化属性が付与されているかは「cipher」コマンドで確認でき、暗号化属性が付与されているフォルダーやファイルには「E」マークが表示されます。
PowerShellで確認
PowerShellで確認するときは「Get-ChildItem」コマンドレットを利用します。
たとえば「D:¥Test」フォルダー内のフォルダーやファイルの属性を確認したいときは、次のようにコマンドを実行します。
PS> Get-ChildItem D:\Test -Force
圧縮属性や暗号化属性が付与されているかも併せて確認したいときは、次のようにコマンドを実行します。
PS> Get-ChildItem D:\Test -Force | Select-Object FullName,Attributes
フォルダーやファイルに属性を設定
フォルダーやファイルに属性を設定するときは、フォルダーやファイルのプロパティ画面で設定する方法と、コマンドで設定する方法があります。
プロパティ画面で設定
フォルダーやファイルのプロパティ画面からは、次の属性を設定できます。
- 読み取り専用属性 - ファイルを誤って変更・上書きされないようにします。
- 隠しファイル属性 - ファイルの存在を隠します。
- アーカイブ属性 - バックアップソフトによるバックアップ対象にします。
- 圧縮属性 - ファイルをNTFS圧縮機能で圧縮します。
- 暗号化属性 - ファイルを暗号化して、許可されたユーザーのみが閲覧できるようにします。
なお、圧縮属性と暗号化属性は排他的で、どちらか一方しか設定することはできません。
Windowsコマンドで設定
Windowsコマンドで属性を設定するときは、基本的には「attrib」コマンドを利用し、属性を付与するときは「+」を、属性を解除するときは「-」を付けて実行します。
たとえば「D:¥Test\sample.txt」に「隠しファイル属性」を付与して「アーカイブ属性」を解除するときは、次のように実行します。
また、ワイルドカード「*」を利用すれば、複数のフォルダーやファイルに対して、一括設定することもできます。
> attrib +h -a D:¥Test\sample.txt
圧縮属性は、フォルダーやファイルをNTFS圧縮すると自動的に付与され、フォルダーやファイルをNTFS圧縮するときは「compact」コマンドを利用します。
> compact /C D:¥Test\sample.txt ←圧縮するとき
> compact /U D:¥Test\sample.txt ←圧縮を解除するとき
暗号化属性は、フォルダーやファイルを暗号化すると自動的に付与され、フォルダーやファイルを暗号化するときは「cipher」コマンドを利用します。
> cipher /E D:¥Test\sample.txt ←暗号化するとき
> cipher /D D:¥Test\sample.txt ←暗号化を解除するとき
PowerShellで設定
PowerShellでフォルダーやファイルに属性を設定するときは「Set-ItemProperty」コマンドレットを利用します。
たとえば「D:¥Test\sample.txt」に「読み取り専用属性」と「隠しファイル属性」を付与するときは、次のように実行します。
PS> Set-ItemProperty D:¥Test\sample.txt -Name Attributes -Value "ReadOnly,Hidden"
「D:¥Test」フォルダー内のすべてのフォルダーやファイルに一括設定するときは、次のようにコマンドを実行します。
PS> Get-ChildItem D:\Test -Force -Recurse | Set-ItemProperty -Name Attributes -Value "ReadOnly,Hidden"
フォルダーやファイルに付与されている属性をすべて解除するときは、次のようにコマンドを実行します。
PS> Set-ItemProperty "D:¥Test\sample.txt" -Name Attributes -Value "Normal"
圧縮属性は、Windowsコマンドと同じ「compact」コマンドを利用します。(上記参照)
暗号化属性は、フォルダーやファイルを暗号化すると自動的に付与され、フォルダーやファイルを暗号化するときは「Encrypt」メソッドを利用します。
PS> (Get-Item D:\Test\sample.bat).Encrypt()
PS> (Get-Item D:\Test\sample.bat).Decrypt()
あとがき
フォルダーやファイルに付与される属性の多くは、Windowsにより自動的に付与されますが、フォルダーやファイルのプロパティ画面から設定できる属性(読み取り専用・隠しファイル・アーカイブ・圧縮・暗号化)は、セキュリティの強化やファイルサイズの削減で活用できる場面もあるので、設定方法を覚えておくと役立つでしょう。