Windowsバッチ ツール

【Windows】コマンドプロンプトのdirコマンドの使い方(フォルダの中身を確認する)

最近はVagrantで環境を作ることが多く、その関係でWindowsのコマンドプロンプトを起動して使っています。

普段はLinuxの環境で作業をすることが多いせいか、ファイル移動には「cd」コマンドを使って、フォルダの中身を参照しようとLinuxと同じノリで「ls」コマンドを使った怒られる!?

え?Windowsのコマンドプロンプトで「cd」コマンドできるけど、「ls」コマンド使えないの!?、と今更ながら知りました。

コマンドプロンプトでは「ls」コマンドの代わりに「dir」コマンドを使うそうです。

dirコマンドの基本

dir (option) [フォルダパス] (option) 
※オプションの値はフォルダパスの前後どちらでも可

単純に「cd」コマンドで所定のフォルダに移動した上で「dir」コマンドを実行すれば、現在いるフォルダの中身が表示されますが、上記のように直接フォルダパスを指定することも可能です

よく使うdirコマンド

サンプル

以下のフォルダ構成を例にして説明します。

C:\(Cドライブ)
  |_ folder\ 
      |_ folder01\
      |  |_ a_file01.txt
      |  |_ b_file01.txt
      |_ folder02\
      |  |_ a_file02.txt
      |  |_ b_file02.txt
      |_ folder03\
      |  |_ a_file03.txt
      |  |_ b_file03.txt
      |_ a_file.txt
      |_ b_file.txt
      |_ c_file.txt
      |_ d_file.xlsx
      |_ e_file.xlsx
      |_ f_file.tsv
      |_ _hidden_file.txt(隠しファイル)
      |_ _readonly_file.txt(読み取り専用)
      |_ _hr_file.txt(隠しファイル+読み取り専用)

単純にfolderに対して「dir」コマンドを実行してみます。

c:\>dir folder
 ドライブ C のボリューム ラベルは Windows です
 ボリューム シリアル番号は 88C5-3DE5 です

 c:\folder のディレクトリ

2018/10/19  16:32    <DIR>          .
2018/10/19  16:32    <DIR>          ..
2017/12/05  13:07            24,532 a_file.txt
2018/07/12  18:44             5,118 b_file.txt
2017/11/10  14:15             4,577 c_file.txt
2018/05/29  18:54            19,147 d_file.xlsx
2018/09/14  18:09            91,334 e_file.xlsx
2018/10/19  16:18    <DIR>          folder1
2018/10/19  16:18    <DIR>          folder2
2018/10/19  16:18    <DIR>          folder3
2017/06/09  16:33     1,914,617,200 f_file.csv
2018/08/16  10:51             2,665 _readonly_file.txt
               7 個のファイル       1,914,764,573 バイト
               5 個のディレクトリ  148,937,949,184 バイトの空き領域

デフォルトではファイルとフォルダの区別なく、ファイル名の昇順で並んでいることが分かります。

「dir」コマンドには多くのオプションが用意されており、用途に応じで表示形式を調整することが可能です。

表示属性を指定する

オプションとして「/a」を付与することで、表示属性を指定することが可能です。

[/a:d] フォルダのみを表示

c:\>dir /a:d folder

 c:\folder のディレクトリ

2018/10/19  16:16    <DIR>          .
2018/10/19  16:16    <DIR>          ..
2018/10/19  16:18    <DIR>          folder1
2018/10/19  16:18    <DIR>          folder2
2018/10/19  16:18    <DIR>          folder3
               0 個のファイル                   0 バイト
               5 個のディレクトリ  148,955,217,920 バイトの空き領域

[/a:-d] フォルダ以外を表示

c:\>dir /a:-d folder

 c:\folder のディレクトリ

2017/12/05  13:07            24,532 a_file.txt
2018/07/12  18:44             5,118 b_file.txt
2017/11/10  14:15             4,577 c_file.txt
2018/05/29  18:54            19,147 d_file.xlsx
2018/09/14  18:09            91,334 e_file.xlsx
2017/06/09  16:33     1,914,617,200 f_file.csv
2018/08/16  10:51             2,665 _hidden_file.txt
2018/08/16  10:51             2,665 _hr_file.txt
2018/08/16  10:51             2,665 _readonly_file.txt
               9 個のファイル       1,914,769,903 バイト

初めて知りましたが、フォルダ以外を表示しているせいか、「隠しファイル」も「読み取り専用ファイル」もすべて表示されるようです。

[/a:r] 読み取り専用ファイルのみ表示

c:\>dir /a:r folder

 c:\folder のディレクトリ

2018/08/16  10:51             2,665 _hr_file.txt
2018/08/16  10:51             2,665 _readonly_file.txt
               2 個のファイル               5,330 バイト
               0 個のディレクトリ  148,916,580,352 バイトの空き領域

[/a:-r] 読み取り専用ファイル以外を表示

c:\>dir /a:-r folder

 c:\folder のディレクトリ

2018/10/19  16:32    <DIR>          .
2018/10/19  16:32    <DIR>          ..
2017/12/05  13:07            24,532 a_file.txt
2018/07/12  18:44             5,118 b_file.txt
2017/11/10  14:15             4,577 c_file.txt
2018/05/29  18:54            19,147 d_file.xlsx
2018/09/14  18:09            91,334 e_file.xlsx
2018/10/19  16:18    <DIR>          folder1
2018/10/19  16:18    <DIR>          folder2
2018/10/19  16:18    <DIR>          folder3
2017/06/09  16:33     1,914,617,200 f_file.csv
2018/08/16  10:51             2,665 _hidden_file.txt
               7 個のファイル       1,914,764,573 バイト
               5 個のディレクトリ  148,918,063,104 バイトの空き領域

[/a:h] 隠しファイルのみ表示

c:\>dir /a:h folder

 c:\folder のディレクトリ

2018/08/16  10:51             2,665 _hidden_file.txt
2018/08/16  10:51             2,665 _hr_file.txt
               2 個のファイル               5,330 バイト
               0 個のディレクトリ  148,899,549,184 バイトの空き領域

[/a:-h] 隠しファイル以外表示

c:\>dir /a:-h folder

 c:\folder のディレクトリ

2018/10/19  16:32    <DIR>          .
2018/10/19  16:32    <DIR>          ..
2017/12/05  13:07            24,532 a_file.txt
2018/07/12  18:44             5,118 b_file.txt
2017/11/10  14:15             4,577 c_file.txt
2018/05/29  18:54            19,147 d_file.xlsx
2018/09/14  18:09            91,334 e_file.xlsx
2018/10/19  16:18    <DIR>          folder1
2018/10/19  16:18    <DIR>          folder2
2018/10/19  16:18    <DIR>          folder3
2017/06/09  16:33     1,914,617,200 f_file.csv
2018/08/16  10:51             2,665 _readonly_file.txt
               7 個のファイル       1,914,764,573 バイト
               5 個のディレクトリ  148,898,054,144 バイトの空き領域

そのほかにもシステムファイルのみ表示する「/a:s」や、アーガイブ属性のみ表示する「/a:a」などがあります。

並び順を指定する

オプションに「/o」を付与することで、ファイルの並び順を変更することができます。

[/o:n] ファイル名のアルファベット順に並べる

c:\>dir /o:n folder

 c:\folder のディレクトリ

2018/10/19  16:32    <DIR>          .
2018/10/19  16:32    <DIR>          ..
2018/08/16  10:51             2,665 _readonly_file.txt
2017/12/05  13:07            24,532 a_file.txt
2018/07/12  18:44             5,118 b_file.txt
2017/11/10  14:15             4,577 c_file.txt
2018/05/29  18:54            19,147 d_file.xlsx
2018/09/14  18:09            91,334 e_file.xlsx
2017/06/09  16:33     1,914,617,200 f_file.csv
2018/10/19  16:18    <DIR>          folder1
2018/10/19  16:18    <DIR>          folder2
2018/10/19  16:18    <DIR>          folder3
               7 個のファイル       1,914,764,573 バイト
               5 個のディレクトリ  148,880,355,328 バイトの空き領域

[/o:-n] ファイル名のアルファベットの逆順に並べる

c:\>dir /o:-n folder

 c:\folder のディレクトリ

2018/10/19  16:18    <DIR>          folder3
2018/10/19  16:18    <DIR>          folder2
2018/10/19  16:18    <DIR>          folder1
2017/06/09  16:33     1,914,617,200 f_file.csv
2018/09/14  18:09            91,334 e_file.xlsx
2018/05/29  18:54            19,147 d_file.xlsx
2017/11/10  14:15             4,577 c_file.txt
2018/07/12  18:44             5,118 b_file.txt
2017/12/05  13:07            24,532 a_file.txt
2018/08/16  10:51             2,665 _readonly_file.txt
2018/10/19  16:32    <DIR>          ..
2018/10/19  16:32    <DIR>          .
               7 個のファイル       1,914,764,573 バイト
               5 個のディレクトリ  148,877,045,760 バイトの空き領域

[/o:s] ファイルサイズの昇順に並べる

c:\>dir /o:s folder

 c:\folder のディレクトリ

2018/10/19  16:32    <DIR>          ..
2018/10/19  16:18    <DIR>          folder3
2018/10/19  16:18    <DIR>          folder2
2018/10/19  16:18    <DIR>          folder1
2018/10/19  16:32    <DIR>          .
2018/08/16  10:51             2,665 _readonly_file.txt
2017/11/10  14:15             4,577 c_file.txt
2018/07/12  18:44             5,118 b_file.txt
2018/05/29  18:54            19,147 d_file.xlsx
2017/12/05  13:07            24,532 a_file.txt
2018/09/14  18:09            91,334 e_file.xlsx
2017/06/09  16:33     1,914,617,200 f_file.csv
               7 個のファイル       1,914,764,573 バイト
               5 個のディレクトリ  148,871,000,064 バイトの空き領域

[/o:-s] ファイルサイズの降順に並べる

c:\>dir /o:-s folder

 c:\folder のディレクトリ

2017/06/09  16:33     1,914,617,200 f_file.csv
2018/09/14  18:09            91,334 e_file.xlsx
2017/12/05  13:07            24,532 a_file.txt
2018/05/29  18:54            19,147 d_file.xlsx
2018/07/12  18:44             5,118 b_file.txt
2017/11/10  14:15             4,577 c_file.txt
2018/08/16  10:51             2,665 _readonly_file.txt
2018/10/19  16:18    <DIR>          folder2
2018/10/19  16:18    <DIR>          folder3
2018/10/19  16:32    <DIR>          ..
2018/10/19  16:32    <DIR>          .
2018/10/19  16:18    <DIR>          folder1
               7 個のファイル       1,914,764,573 バイト
               5 個のディレクトリ  148,865,449,984 バイトの空き領域

[/o:e] 拡張子のアルファベット順に並べる

c:\>dir /o:e folder

 c:\folder のディレクトリ

2018/10/19  16:32    <DIR>          .
2018/10/19  16:32    <DIR>          ..
2018/10/19  16:18    <DIR>          folder2
2018/10/19  16:18    <DIR>          folder1
2018/10/19  16:18    <DIR>          folder3
2017/06/09  16:33     1,914,617,200 f_file.csv
2018/07/12  18:44             5,118 b_file.txt
2017/12/05  13:07            24,532 a_file.txt
2018/08/16  10:51             2,665 _readonly_file.txt
2017/11/10  14:15             4,577 c_file.txt
2018/09/14  18:09            91,334 e_file.xlsx
2018/05/29  18:54            19,147 d_file.xlsx
               7 個のファイル       1,914,764,573 バイト
               5 個のディレクトリ  148,851,335,168 バイトの空き領域

[/o:-e] 拡張子のアルファベットの逆順に並べる

c:\>dir /o:-e folder

 c:\folder のディレクトリ

2018/05/29  18:54            19,147 d_file.xlsx
2018/09/14  18:09            91,334 e_file.xlsx
2018/07/12  18:44             5,118 b_file.txt
2017/11/10  14:15             4,577 c_file.txt
2017/12/05  13:07            24,532 a_file.txt
2018/08/16  10:51             2,665 _readonly_file.txt
2017/06/09  16:33     1,914,617,200 f_file.csv
2018/10/19  16:18    <DIR>          folder2
2018/10/19  16:18    <DIR>          folder3
2018/10/19  16:18    <DIR>          folder1
2018/10/19  16:32    <DIR>          .
2018/10/19  16:32    <DIR>          ..
               7 個のファイル       1,914,764,573 バイト
               5 個のディレクトリ  148,850,544,640 バイトの空き領域

[/o:d] 更新日の古い順に並べる

c:\>dir /o:d folder

 c:\folder のディレクトリ

2017/06/09  16:33     1,914,617,200 f_file.csv
2017/11/10  14:15             4,577 c_file.txt
2017/12/05  13:07            24,532 a_file.txt
2018/05/29  18:54            19,147 d_file.xlsx
2018/07/12  18:44             5,118 b_file.txt
2018/08/16  10:51             2,665 _readonly_file.txt
2018/09/14  18:09            91,334 e_file.xlsx
2018/10/19  16:18    <DIR>          folder1
2018/10/19  16:18    <DIR>          folder2
2018/10/19  16:18    <DIR>          folder3
2018/10/19  16:32    <DIR>          .
2018/10/19  16:32    <DIR>          ..
               7 個のファイル       1,914,764,573 バイト
               5 個のディレクトリ  148,844,453,888 バイトの空き領域

[/o:-d] 更新日の新しい順に並べる

c:\>dir /o:-d folder

 c:\folder のディレクトリ

2018/10/19  16:32    <DIR>          ..
2018/10/19  16:32    <DIR>          .
2018/10/19  16:18    <DIR>          folder3
2018/10/19  16:18    <DIR>          folder2
2018/10/19  16:18    <DIR>          folder1
2018/09/14  18:09            91,334 e_file.xlsx
2018/08/16  10:51             2,665 _readonly_file.txt
2018/07/12  18:44             5,118 b_file.txt
2018/05/29  18:54            19,147 d_file.xlsx
2017/12/05  13:07            24,532 a_file.txt
2017/11/10  14:15             4,577 c_file.txt
2017/06/09  16:33     1,914,617,200 f_file.csv
               7 個のファイル       1,914,764,573 バイト
               5 個のディレクトリ  148,811,780,096 バイトの空き領域

日付情報から並び順を指定する

ファイルやフォルダが持つ日付情報によって並び順を指定するには「/t」オプションを使用します。

作成日時の古い順に並べる

c:\>dir /t:c folder

 c:\folder のディレクトリ

2018/10/19  15:33    <DIR>          .
2018/10/19  15:33    <DIR>          ..
2018/10/19  15:39            24,532 a_file.txt
2018/10/19  15:39             5,118 b_file.txt
2018/10/19  15:39             4,577 c_file.txt
2018/10/19  16:12            19,147 d_file.xlsx
2018/10/19  16:12            91,334 e_file.xlsx
2018/10/19  15:33    <DIR>          folder1
2018/10/19  15:34    <DIR>          folder2
2018/10/19  15:38    <DIR>          folder3
2018/10/19  16:13     1,914,617,200 f_file.csv
2018/10/19  16:31             2,665 _readonly_file.txt
               7 個のファイル       1,914,764,573 バイト
               5 個のディレクトリ  148,827,729,920 バイトの空き領域

※「/t:-c」は不可

[/t:a] 最終アクセス日の古い順に並べる

c:\>dir /t:a folder

 c:\folder のディレクトリ

2018/10/19  16:32    <DIR>          .
2018/10/19  16:32    <DIR>          ..
2018/10/19  15:39            24,532 a_file.txt
2018/10/19  15:39             5,118 b_file.txt
2018/10/19  15:39             4,577 c_file.txt
2018/10/19  16:12            19,147 d_file.xlsx
2018/10/19  16:12            91,334 e_file.xlsx
2018/10/19  16:18    <DIR>          folder1
2018/10/19  16:18    <DIR>          folder2
2018/10/19  16:18    <DIR>          folder3
2018/10/19  16:13     1,914,617,200 f_file.csv
2018/10/19  16:31             2,665 _readonly_file.txt
               7 個のファイル       1,914,764,573 バイト
               5 個のディレクトリ  148,824,551,424 バイトの空き領域

※「/t:-a」は不可

[/t:w] 最終更新日の古い順に並べる

c:\>dir /t:w folder

 c:\folder のディレクトリ

2018/10/19  16:32    <DIR>          .
2018/10/19  16:32    <DIR>          ..
2017/12/05  13:07            24,532 a_file.txt
2018/07/12  18:44             5,118 b_file.txt
2017/11/10  14:15             4,577 c_file.txt
2018/05/29  18:54            19,147 d_file.xlsx
2018/09/14  18:09            91,334 e_file.xlsx
2018/10/19  16:18    <DIR>          folder1
2018/10/19  16:18    <DIR>          folder2
2018/10/19  16:18    <DIR>          folder3
2017/06/09  16:33     1,914,617,200 f_file.csv
2018/08/16  10:51             2,665 _readonly_file.txt
               7 個のファイル       1,914,764,573 バイト
               5 個のディレクトリ  148,817,698,816 バイトの空き領域

※「/t:-w」は不可

 

その他の機能

[/b]ファイル名とフォルダ名のみを一覧表示

c:\>dir /b folder
a_file.txt
b_file.txt
c_file.txt
d_file.xlsx
e_file.xlsx
folder1
folder2
folder3
f_file.csv
_readonly_file.txt

[/d] 表示形式をワイドに表示

c:\>dir /d folder

 c:\folder のディレクトリ

[.]                  a_file.txt           c_file.txt           e_file.xlsx          [folder2]            f_file.csv
[..]                 b_file.txt           d_file.xlsx          [folder1]            [folder3]            _readonly_file.txt
               7 個のファイル       1,914,764,573 バイト
               5 個のディレクトリ  148,803,518,464 バイトの空き領域

[/q] ファイルの所有者を表示

c:\>dir /q folder

 c:\folder のディレクトリ

2018/10/19  16:32    <DIR>          PC\user     .
2018/10/19  16:32    <DIR>          NT SERVICE\TrustedInsta..
2017/12/05  13:07            24,532 PC\user     a_file.txt
2018/07/12  18:44             5,118 PC\user     b_file.txt
2017/11/10  14:15             4,577 PC\user     c_file.txt
2018/05/29  18:54            19,147 PC\user     d_file.xlsx
2018/09/14  18:09            91,334 PC\user     e_file.xlsx
2018/10/19  16:18    <DIR>          PC\user     folder1
2018/10/19  16:18    <DIR>          PC\user     folder2
2018/10/19  16:18    <DIR>          PC\user     folder3
2017/06/09  16:33     1,914,617,200 PC\user     f_file.csv
2018/08/16  10:51             2,665 PC\user     _readonly_file.txt
               7 個のファイル       1,914,764,573 バイト
               5 個のディレクトリ  148,782,788,608 バイトの空き領域

[/s] サブフォルダ配下も含めたファイルをすべて表示

c:\>dir /s folder

 c:\folder のディレクトリ

2018/10/19  16:32    <DIR>          .
2018/10/19  16:32    <DIR>          ..
2017/12/05  13:07            24,532 a_file.txt
2018/07/12  18:44             5,118 b_file.txt
2017/11/10  14:15             4,577 c_file.txt
2018/05/29  18:54            19,147 d_file.xlsx
2018/09/14  18:09            91,334 e_file.xlsx
2018/10/19  16:18    <DIR>          folder1
2018/10/19  16:18    <DIR>          folder2
2018/10/19  16:18    <DIR>          folder3
2017/06/09  16:33     1,914,617,200 f_file.csv
2018/08/16  10:51             2,665 _readonly_file.txt
               7 個のファイル       1,914,764,573 バイト

 c:\folder\folder1 のディレクトリ

2018/10/19  16:18    <DIR>          .
2018/10/19  16:18    <DIR>          ..
2017/12/05  13:07            24,532 a_file01.txt
2018/07/12  18:44             5,118 b_file01.txt
               2 個のファイル              29,650 バイト

 c:\folder\folder2 のディレクトリ

2018/10/19  16:18    <DIR>          .
2018/10/19  16:18    <DIR>          ..
2017/12/05  13:07            24,532 a_file02.txt
2018/07/12  18:44             5,118 b_file02.txt
               2 個のファイル              29,650 バイト

 c:\folder\folder3 のディレクトリ

2018/10/19  16:18    <DIR>          .
2018/10/19  16:18    <DIR>          ..
2017/12/05  13:07            24,532 a_file03.txt
2018/07/12  18:44             5,118 b_file03.txt
               2 個のファイル              29,650 バイト

     ファイルの総数:
              13 個のファイル       1,914,853,523 バイト
              11 個のディレクトリ  148,593,930,240 バイトの空き領域

[/w] 左から右へファイルを横に並べて表示

c:\>dir /w folder

 c:\folder のディレクトリ

[.]                  [..]                 a_file.txt           b_file.txt           c_file.txt           d_file.xlsx          e_file.xlsx
[folder1]            [folder2]            [folder3]            f_file.csv           _readonly_file.txt
               7 個のファイル       1,914,764,573 バイト
               5 個のディレクトリ  148,538,273,792 バイトの空き領域

以上です。

-Windowsバッチ, ツール