attrib - ファイル属性の変更
コマンドプロンプトやバッチファイルでファイルやフォルダを扱う際、ファイルの属性を変更したり確認したりする必要がある場合があります。
attribコマンドを使用すると、読み取り専用、隠しファイル、システムファイル、アーカイブといったファイル属性を簡単に変更できます。
この記事では、attribコマンドの基本的な使い方から応用的な使用例まで、分かりやすく解説します。
attrib コマンドとは
attribコマンドは、ファイルやフォルダの属性を表示・変更するためのコマンドです。
Windows のファイルには、以下のような属性が設定されています:
- 読み取り専用(R): ファイルの上書きや、
delコマンドによる通常の削除ができなくなります - 隠しファイル(H): エクスプローラーで通常は表示されなくなります
- システムファイル(S): Windows システムが使用する重要なファイルであることを示します
- アーカイブ(A): バックアップソフトがファイルの変更を検知するために使用されます
これらの属性を適切に設定することで、重要なファイルを保護したり、一時的にファイルを非表示にしたりできます。
基本的な使い方
attribコマンドの基本的な構文は以下の通りです。
attrib [+属性 | -属性] [ファイル名] [/S] [/D]
最も基本的な使い方は、ファイル名を指定せずにattribコマンドを実行することです。
このように実行すると、カレントディレクトリ内のファイルの属性が一覧で表示されます。
属性は、アーカイブ(A)、システムファイル(S)、隠しファイル(H)、読み取り専用(R)の順に、頭文字で表示されます。 属性が設定されていない場合、その位置には空白が表示されます。隠しファイルも一覧に表示されます。
特定のファイルの属性を確認
特定のファイルの属性を確認したい場合は、ファイル名を指定します。

中小企業経営者のためのRPA入門 RPA導入を成功させる方法

60分でわかる! AIエージェント 超 入門

コマンドラインの黒い画面が怖いんです。

知識・才能ゼロでもらく~に月10万円稼ぐ! よくわかるAI副業超入門
属性の設定と解除
ファイルに属性を設定するには+記号を、属性を解除するには-記号を使用します。
読み取り専用属性の設定
ファイルを読み取り専用にするには、+rオプションを使用します。
これにより、document.txtファイルが読み取り専用になり、上書き保存や通常の削除ができなくなります。
読み取り専用属性が設定されたファイルを上書きしようとすると、エラーが発生します。
編集する前に、読み取り専用属性を解除してください。
なお、読み取り専用はあくまで誤操作を防ぐ目的の属性です。del /f を使うと読み取り専用ファイルも削除できるため、改ざんや削除を防ぐセキュリティ機能としては使えません。
読み取り専用属性の解除
読み取り専用属性を解除するには、-rオプションを使用します。
隠しファイル属性の設定
ファイルを隠しファイルにするには、+hオプションを使用します。
これにより、secret.txtファイルがエクスプローラーで通常は表示されなくなります。
エクスプローラーの「表示」メニューで「隠しファイル」にチェックを入れると、隠しファイルも確認できます。
コマンドプロンプトでは dir /a:h で隠しファイルだけを一覧表示できます。
誰かに見せないためのセキュリティ対策としては不十分です。
隠しファイル属性の解除
隠しファイル属性を解除するには、-hオプションを使用します。
複数の属性を同時に設定
複数の属性を同時に設定することもできます。
以下の例は、ファイルを読み取り専用かつ隠しファイルに設定する例です。
同様に、複数の属性を同時に解除することもできます。
attrib コマンドのオプション
attribコマンドには、以下のオプションがあります。
| オプション | 説明 |
|---|---|
+r | 読み取り専用属性を設定します |
-r | 読み取り専用属性を解除します |
+a | アーカイブ属性を設定します |
-a | アーカイブ属性を解除します |
+s | システムファイル属性を設定します |
-s | システムファイル属性を解除します |
+h | 隠しファイル属性を設定します |
-h | 隠しファイル属性を解除します |
/s | 現在のフォルダとすべてのサブフォルダ内のファイルを処理します |
/d | フォルダにも属性の設定・解除を適用します |
/l | シンボリックリンクの参照先ではなく、リンク自体を処理します |
現行のWindowsでは、オフライン属性やインデックス対象外属性など、さらに多くの属性を扱えます。
日常的なファイル操作では、まずこの記事で扱っている R A S H を押さえておけば十分です。
/sオプション - サブフォルダも処理
/sオプションを使用すると、サブフォルダ内のファイルも一括で処理できます。
以下の例は、カレントフォルダとそのサブフォルダ内のすべての.txtファイルを読み取り専用にする例です。
/sオプションとワイルドカードを組み合わせることで、多数のファイルの属性を一括で変更できます。
大量のファイルを処理する際に非常に便利です。
/dオプション - フォルダも処理
/dオプションを指定すると、ファイルだけでなくフォルダにも属性を適用できます。/sと併用すれば、サブフォルダ内のフォルダも対象になります。
以下の例は、logsフォルダ配下のファイルとフォルダの読み取り専用属性をすべて解除する例です。
attrib +h *.* /s /d のようにワイルドカードと /s /d
を組み合わせると、大量のファイルが一度に隠しファイルになります。
実行前に対象フォルダを必ず確認し、まずは小さなフォルダで試してください。
/l オプションを指定すると、リンク先ではなくシンボリックリンクそのものの属性を変更できます。
応用例
システムファイルと隠しファイルの属性を解除
USB メモリがウイルスに感染すると、ファイルが隠しファイルやシステムファイルに変更されてしまうことがあります。
以下のコマンドで、D ドライブ(USB メモリ)内のすべてのファイルとフォルダから、システムファイルと隠しファイルの属性を解除できます。
本来のWindowsシステムファイルの属性を変更すると、システムが正常に動作しなくなる可能性があります。 システムドライブ(通常はCドライブ)のファイルには、このコマンドを使用しないでください。
重要なファイルを誤操作から守る
誤って上書き・削除したくないファイルには、読み取り専用属性を設定しておくと安心です。さらに隠しファイル属性を加えると、エクスプローラーでの誤操作も減らせます。
フォルダに読み取り専用属性を設定しても、フォルダ内のファイルの編集や削除は制限されません。
フォルダの表示設定などに使われる特殊な属性なので、フォルダ内のファイルを守りたい場合は /s を使ってファイル側に設定してください(例:attrib +r folder\*.* /s)。
バックアップ対象のマーク
アーカイブ属性は、バックアップソフトがファイルの変更を検知するために使用されます。
ファイルが変更されると、自動的にアーカイブ属性が設定されます。
手動でアーカイブ属性を設定するには:
バックアップ後にアーカイブ属性を解除するには:
ワイルドカードの使用
attribコマンドでは、ワイルドカードを使用して複数のファイルを一括処理できます。
すべてのテキストファイルを処理
カレントディレクトリ内のすべての.txtファイルを読み取り専用にする:
すべてのファイルを処理
カレントディレクトリ内のすべてのファイルの隠しファイル属性を解除する:
エラーと対処法
アクセス拒否エラー
システムファイルや特定のファイルの属性を変更しようとすると、「アクセスが拒否されました」というエラーが表示されることがあります。
このような場合は、コマンドプロンプトを管理者として実行してから、再度コマンドを実行してください。管理者権限でも変更できない場合は、そのファイルがシステムによって保護されている可能性があります。
スタートメニューで「cmd」と検索し、「コマンドプロンプト」を右クリックして「管理者として実行」を選択します。
まとめ
この記事では、attribコマンドを使用したファイル属性の表示と変更方法について解説しました。
主なポイント:
attribコマンドでファイルの読み取り専用、隠しファイル、システムファイル、アーカイブ属性を管理できる+記号で属性を設定、-記号で属性を解除/sオプションでサブフォルダも処理対象に含められる/dオプションでフォルダの属性も変更できる- 属性の一覧表示は A・S・H・R の順で、
dir /a:hで隠しファイルだけを確認できる - ワイルドカードを使用して複数ファイルを一括処理できる
ファイル属性を適切に管理することで、重要なファイルの保護や、効率的なファイル管理が可能になります。
関連コマンド
ファイル操作に関連する他のコマンドについても、以下の記事で詳しく解説しています。