attrib - ファイル属性の変更

にメンテナンス済み

コマンドプロンプトやバッチファイルでファイルやフォルダを扱う際、ファイルの属性を変更したり確認したりする必要がある場合があります。

attribコマンドを使用すると、読み取り専用、隠しファイル、システムファイル、アーカイブといったファイル属性を簡単に変更できます。

この記事では、attribコマンドの基本的な使い方から応用的な使用例まで、分かりやすく解説します。

attrib コマンドとは

attribコマンドは、ファイルやフォルダの属性を表示・変更するためのコマンドです。

Windows のファイルには、以下のような属性が設定されています:

  • 読み取り専用(R): ファイルの内容を変更したり削除したりできなくなります
  • 隠しファイル(H): エクスプローラーで通常は表示されなくなります
  • システムファイル(S): Windows システムが使用する重要なファイルであることを示します
  • アーカイブ(A): バックアップソフトがファイルの変更を検知するために使用されます

これらの属性を適切に設定することで、重要なファイルを保護したり、一時的にファイルを非表示にしたりできます。

基本的な使い方

attribコマンドの基本的な構文は以下の通りです。

attrib [+属性 | -属性] [ファイル名] [/S] [/D]

最も基本的な使い方は、ファイル名を指定せずにattribコマンドを実行することです。

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2025 Ribbit App Development All rights reserved.
 
C:\users\user>attrib
A    C:\Users\user\document.txt
A H  C:\Users\user\hidden.txt
  R  C:\Users\user\readme.txt
C:\users\user>

このように実行すると、カレントディレクトリ内のファイルの属性が一覧で表示されます。

属性の表示について

属性は、読み取り専用(R)、アーカイブ(A)、システムファイル(S)、隠しファイル(H)の頭文字で表示されます。 属性が設定されていない場合、その位置には空白が表示されます。

特定のファイルの属性を確認

特定のファイルの属性を確認したい場合は、ファイル名を指定します。

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2025 Ribbit App Development All rights reserved.
 
C:\users\user>attrib document.txt
A    C:\Users\user\document.txt
C:\users\user>

属性の設定と解除

ファイルに属性を設定するには+記号を、属性を解除するには-記号を使用します。

読み取り専用属性の設定

ファイルを読み取り専用にするには、+rオプションを使用します。

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2025 Ribbit App Development All rights reserved.
 
C:\users\user>attrib +r document.txt

これにより、document.txtファイルが読み取り専用になり、内容の変更や削除ができなくなります。

読み取り専用ファイルの編集

読み取り専用属性が設定されたファイルを編集しようとすると、エラーが発生します。 編集する前に、必ず読み取り専用属性を解除してください。

読み取り専用属性の解除

読み取り専用属性を解除するには、-rオプションを使用します。

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2025 Ribbit App Development All rights reserved.
 
C:\users\user>attrib -r document.txt

隠しファイル属性の設定

ファイルを隠しファイルにするには、+hオプションを使用します。

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2025 Ribbit App Development All rights reserved.
 
C:\users\user>attrib +h secret.txt

これにより、secret.txtファイルがエクスプローラーで通常は表示されなくなります。

隠しファイルの表示方法

エクスプローラーで「表示」タブから「隠しファイル」を表示するように設定すれば、隠しファイルも確認できます。 完全に見えなくするセキュリティ対策としては不十分です。

隠しファイル属性の解除

隠しファイル属性を解除するには、-hオプションを使用します。

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2025 Ribbit App Development All rights reserved.
 
C:\users\user>attrib -h secret.txt

複数の属性を同時に設定

複数の属性を同時に設定することもできます。

以下の例は、ファイルを読み取り専用かつ隠しファイルに設定する例です。

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2025 Ribbit App Development All rights reserved.
 
C:\users\user>attrib +r +h important.txt

同様に、複数の属性を同時に解除することもできます。

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2025 Ribbit App Development All rights reserved.
 
C:\users\user>attrib -r -h important.txt

attrib コマンドのオプション

attribコマンドには、以下のオプションがあります。

オプション説明
+r読み取り専用属性を設定します
-r読み取り専用属性を解除します
+aアーカイブ属性を設定します
-aアーカイブ属性を解除します
+sシステムファイル属性を設定します
-sシステムファイル属性を解除します
+h隠しファイル属性を設定します
-h隠しファイル属性を解除します
/s現在のフォルダとすべてのサブフォルダ内のファイルを処理します
/dフォルダも処理対象に含めます(/s と併用)

/sオプション - サブフォルダも処理

/sオプションを使用すると、サブフォルダ内のファイルも一括で処理できます。

以下の例は、カレントフォルダとそのサブフォルダ内のすべての.txtファイルを読み取り専用にする例です。

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2025 Ribbit App Development All rights reserved.
 
C:\users\user>attrib +r *.txt /s
複数ファイルの一括処理

/sオプションとワイルドカードを組み合わせることで、多数のファイルの属性を一括で変更できます。 大量のファイルを処理する際に非常に便利です。

/dオプション - フォルダも処理

デフォルトでは、attribコマンドはファイルのみを処理しますが、/dオプションを/sと併用することで、フォルダの属性も変更できます。

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2025 Ribbit App Development All rights reserved.
 
C:\users\user>attrib +h *.* /s /d

応用例

システムファイルと隠しファイルの属性を解除

USB メモリがウイルスに感染すると、ファイルが隠しファイルやシステムファイルに変更されてしまうことがあります。

以下のコマンドで、D ドライブ(USB メモリ)内のすべてのファイルから、システムファイルと隠しファイルの属性を解除できます。

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2025 Ribbit App Development All rights reserved.
 
C:\users\user>attrib -s -h D:\*.* /s /d
システムファイル属性の変更について

本来のWindowsシステムファイルの属性を変更すると、システムが正常に動作しなくなる可能性があります。 システムドライブ(通常はCドライブ)のファイルには、このコマンドを使用しないでください。

重要なファイルを保護

誤って削除されたくない重要なファイルには、読み取り専用と隠しファイル属性を設定することで、二重に保護できます。

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2025 Ribbit App Development All rights reserved.
 
C:\users\user>attrib +r +h important_config.txt

バックアップ対象のマーク

アーカイブ属性は、バックアップソフトがファイルの変更を検知するために使用されます。

ファイルが変更されると、自動的にアーカイブ属性が設定されます。

手動でアーカイブ属性を設定するには:

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2025 Ribbit App Development All rights reserved.
 
C:\users\user>attrib +a document.txt

バックアップ後にアーカイブ属性を解除するには:

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2025 Ribbit App Development All rights reserved.
 
C:\users\user>attrib -a document.txt

ワイルドカードの使用

attribコマンドでは、ワイルドカードを使用して複数のファイルを一括処理できます。

すべてのテキストファイルを処理

カレントディレクトリ内のすべての.txtファイルを読み取り専用にする:

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2025 Ribbit App Development All rights reserved.
 
C:\users\user>attrib +r *.txt

すべてのファイルを処理

カレントディレクトリ内のすべてのファイルの隠しファイル属性を解除する:

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2025 Ribbit App Development All rights reserved.
 
C:\users\user>attrib -h *.*

エラーと対処法

アクセス拒否エラー

システムファイルや特定のファイルの属性を変更しようとすると、「アクセスが拒否されました」というエラーが表示されることがあります。

×
コマンド プロンプトのアイコン
コマンド プロンプト
Microsoft Windows [Version xx.x.xxxxx.xxx]
(c) 2025 Ribbit App Development All rights reserved.
 
C:\users\user>attrib +r system.dat
アクセスが拒否されました - system.dat
C:\users\user>

このような場合は、コマンドプロンプトを管理者として実行してから、再度コマンドを実行してください。

管理者権限での実行

スタートメニューで「cmd」と検索し、「コマンドプロンプト」を右クリックして「管理者として実行」を選択します。

まとめ

この記事では、attribコマンドを使用したファイル属性の表示と変更方法について解説しました。

主なポイント:

  • attribコマンドでファイルの読み取り専用、隠しファイル、システムファイル、アーカイブ属性を管理できる
  • +記号で属性を設定、-記号で属性を解除
  • /sオプションでサブフォルダも処理対象に含められる
  • /dオプションでフォルダの属性も変更できる
  • ワイルドカードを使用して複数ファイルを一括処理できる

ファイル属性を適切に管理することで、重要なファイルの保護や、効率的なファイル管理が可能になります。

関連コマンド

ファイル操作に関連する他のコマンドについても、以下の記事で詳しく解説しています。

練習問題

練習問題

document.txtファイルを読み取り専用に設定するコマンドはどれでしょうか?

回答がサーバーに送信されることはありません
練習問題

カレントフォルダとサブフォルダ内のすべての.txtファイルから隠しファイル属性を解除するコマンドはどれでしょうか?

回答がサーバーに送信されることはありません
#コマンドプロンプト #バッチファイル #コマンドライン #コマンド