attrib - ファイル属性の変更
コマンドプロンプトやバッチファイルでファイルやフォルダを扱う際、ファイルの属性を変更したり確認したりする必要がある場合があります。
attribコマンドを使用すると、読み取り専用、隠しファイル、システムファイル、アーカイブといったファイル属性を簡単に変更できます。
この記事では、attribコマンドの基本的な使い方から応用的な使用例まで、分かりやすく解説します。
attrib コマンドとは
attribコマンドは、ファイルやフォルダの属性を表示・変更するためのコマンドです。
Windows のファイルには、以下のような属性が設定されています:
- 読み取り専用(R): ファイルの内容を変更したり削除したりできなくなります
- 隠しファイル(H): エクスプローラーで通常は表示されなくなります
- システムファイル(S): Windows システムが使用する重要なファイルであることを示します
- アーカイブ(A): バックアップソフトがファイルの変更を検知するために使用されます
これらの属性を適切に設定することで、重要なファイルを保護したり、一時的にファイルを非表示にしたりできます。
基本的な使い方
attribコマンドの基本的な構文は以下の通りです。
attrib [+属性 | -属性] [ファイル名] [/S] [/D]
最も基本的な使い方は、ファイル名を指定せずにattribコマンドを実行することです。
このように実行すると、カレントディレクトリ内のファイルの属性が一覧で表示されます。
属性は、読み取り専用(R)、アーカイブ(A)、システムファイル(S)、隠しファイル(H)の頭文字で表示されます。 属性が設定されていない場合、その位置には空白が表示されます。
特定のファイルの属性を確認
特定のファイルの属性を確認したい場合は、ファイル名を指定します。
属性の設定と解除
ファイルに属性を設定するには+記号を、属性を解除するには-記号を使用します。
読み取り専用属性の設定
ファイルを読み取り専用にするには、+rオプションを使用します。
これにより、document.txtファイルが読み取り専用になり、内容の変更や削除ができなくなります。
読み取り専用属性が設定されたファイルを編集しようとすると、エラーが発生します。 編集する前に、必ず読み取り専用属性を解除してください。
読み取り専用属性の解除
読み取り専用属性を解除するには、-rオプションを使用します。
隠しファイル属性の設定
ファイルを隠しファイルにするには、+hオプションを使用します。
これにより、secret.txtファイルがエクスプローラーで通常は表示されなくなります。
エクスプローラーで「表示」タブから「隠しファイル」を表示するように設定すれば、隠しファイルも確認できます。 完全に見えなくするセキュリティ対策としては不十分です。
隠しファイル属性の解除
隠しファイル属性を解除するには、-hオプションを使用します。
複数の属性を同時に設定
複数の属性を同時に設定することもできます。
以下の例は、ファイルを読み取り専用かつ隠しファイルに設定する例です。
同様に、複数の属性を同時に解除することもできます。
attrib コマンドのオプション
attribコマンドには、以下のオプションがあります。
| オプション | 説明 |
|---|---|
+r | 読み取り専用属性を設定します |
-r | 読み取り専用属性を解除します |
+a | アーカイブ属性を設定します |
-a | アーカイブ属性を解除します |
+s | システムファイル属性を設定します |
-s | システムファイル属性を解除します |
+h | 隠しファイル属性を設定します |
-h | 隠しファイル属性を解除します |
/s | 現在のフォルダとすべてのサブフォルダ内のファイルを処理します |
/d | フォルダも処理対象に含めます(/s と併用) |
/sオプション - サブフォルダも処理
/sオプションを使用すると、サブフォルダ内のファイルも一括で処理できます。
以下の例は、カレントフォルダとそのサブフォルダ内のすべての.txtファイルを読み取り専用にする例です。
/sオプションとワイルドカードを組み合わせることで、多数のファイルの属性を一括で変更できます。
大量のファイルを処理する際に非常に便利です。
/dオプション - フォルダも処理
デフォルトでは、attribコマンドはファイルのみを処理しますが、/dオプションを/sと併用することで、フォルダの属性も変更できます。
応用例
システムファイルと隠しファイルの属性を解除
USB メモリがウイルスに感染すると、ファイルが隠しファイルやシステムファイルに変更されてしまうことがあります。
以下のコマンドで、D ドライブ(USB メモリ)内のすべてのファイルから、システムファイルと隠しファイルの属性を解除できます。
本来のWindowsシステムファイルの属性を変更すると、システムが正常に動作しなくなる可能性があります。 システムドライブ(通常はCドライブ)のファイルには、このコマンドを使用しないでください。
重要なファイルを保護
誤って削除されたくない重要なファイルには、読み取り専用と隠しファイル属性を設定することで、二重に保護できます。
バックアップ対象のマーク
アーカイブ属性は、バックアップソフトがファイルの変更を検知するために使用されます。
ファイルが変更されると、自動的にアーカイブ属性が設定されます。
手動でアーカイブ属性を設定するには:
バックアップ後にアーカイブ属性を解除するには:
ワイルドカードの使用
attribコマンドでは、ワイルドカードを使用して複数のファイルを一括処理できます。
すべてのテキストファイルを処理
カレントディレクトリ内のすべての.txtファイルを読み取り専用にする:
すべてのファイルを処理
カレントディレクトリ内のすべてのファイルの隠しファイル属性を解除する:
エラーと対処法
アクセス拒否エラー
システムファイルや特定のファイルの属性を変更しようとすると、「アクセスが拒否されました」というエラーが表示されることがあります。
このような場合は、コマンドプロンプトを管理者として実行してから、再度コマンドを実行してください。
スタートメニューで「cmd」と検索し、「コマンドプロンプト」を右クリックして「管理者として実行」を選択します。
まとめ
この記事では、attribコマンドを使用したファイル属性の表示と変更方法について解説しました。
主なポイント:
attribコマンドでファイルの読み取り専用、隠しファイル、システムファイル、アーカイブ属性を管理できる+記号で属性を設定、-記号で属性を解除/sオプションでサブフォルダも処理対象に含められる/dオプションでフォルダの属性も変更できる- ワイルドカードを使用して複数ファイルを一括処理できる
ファイル属性を適切に管理することで、重要なファイルの保護や、効率的なファイル管理が可能になります。
関連コマンド
ファイル操作に関連する他のコマンドについても、以下の記事で詳しく解説しています。