<< Thinkpad T500とT400の前機種、T61の製品レビューです | main | HP dm3i、Win7対応FF XI推奨認定 e9280jpの販売が開始 >> |
ファイルやサブディレクトリを一覧表示 dir![]() 今回はdirというコマンドの説明をします。
このdirは、指定したディレクトリ内のファイルやサブディレクトリの情報を
一覧表示するコマンド。
ただ単にファイルやディレクトリの情報を表示するだけではなく、
オプションを組み合わせる事で様々な形式での表示も可能になっており、
単純なコマンドですが、比較的頻繁に使用されるものの一つだと思います。
(これまでに書いた記事でも、ファイル確認の為に何度か登場しました。)
なお、オプションの数は多めですが全てを覚える必要はありません。
こういう使い方が出来るんだ、という基本的な使用例をいくつか掲載していますので、 興味のある方は目を通してみてください。
以下はdirの書式とオプションの一覧です。
dir [ファイル名] [/a[[:]属性]] [/b] [/c] [/d] [/l] [/n] [/o[[:]ソート順]] [/p] [/q] [/s] [/t[[:]タイムフィールド]] [/w] [/x] [/4]
dirは、指定したディレクトリ内のファイルや、サブディレクトリの情報を表示するコマンドです。
様々なオプションを指定する事で、情報の表示方法や内容を変更する事ができます。
C:¥>dir ファイル名 オプション
dir単独で実行した場合、カレントディレクトリのファイルやサブディレクトリを表示します。
C:¥aaaaa>dir ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 4CC2-05DF です C:¥aaaaa のディレクトリ 2009/10/16 18:18 <DIR> . 2009/10/16 18:18 <DIR> .. 2009/10/09 19:50 8 a.txt 2009/10/08 23:41 65 b.txt 2009/10/08 23:41 64 c.html 3 個のファイル 137 バイト 2 個のディレクトリ 2,806,722,560 バイトの空き領域 C:¥aaaaa>
dirに/a:属性を指定する事で、指定した属性が設定されている
ファイルのみを表示する事ができます。属性を表す文字は以下の通りです。
d ディレクトリ r 読み取り専用 h 隠しファイル a アーカイブ s システムファイル - その属性以外(-dなどと記述)
「-属性」と記述した場合は、その属性以外の属性が設定されているファイルを表示します。
C:¥aaaaa>dir /a:r ←読み取り専用属性が設定されたファイルを表示 ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 4CC2-05DF です C:¥aaaaa のディレクトリ 2009/10/09 19:50 8 a.txt 1 個のファイル 8 バイト 0 個のディレクトリ 2,806,788,096 バイトの空き領域 C:¥aaaaa>
さらに/a:属性には複数の値を指定することが出来ます。
例えば、「/a:ah」では「a」と「h」 を同時に指定したことになります。
この場合、アーカイブ属性と隠しファイル属性が設定されているファイルだけが表示されます。
C:¥aaaaa>dir /a:ha ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 4CC2-05DF です C:¥aaaaa のディレクトリ 2009/10/08 23:41 65 b.txt 1 個のファイル 65 バイト 0 個のディレクトリ 2,804,355,072 バイトの空き領域 C:¥aaaaa> 隠しファイル属性とアーカイブ属性が設定されたファイルを表示
/bを指定すると、ディレクトリとファイル名のみを表示します。
C:¥aaaaa>dir /b a.txt b.txt c.html C:¥aaaaa>
表示されるファイル情報が一画面で収まらない場合、一画面ずつ情報を表示する為のオプション
「/p」を指定すると便利です。
C:¥sample>dir /p
ドライブ C のボリューム ラベルがありません。
ボリューム シリアル番号は 4CC2-05DF です
C:¥sample のディレクトリ
2009/10/05 16:47 <DIR> .
2009/10/05 16:47 <DIR> ..
2009/09/29 18:09 <DIR> aaa
2009/09/25 10:07 18 cc.txt
2009/10/05 16:53 34 err.txt
2009/09/19 18:22 148 find.txt
2009/09/30 18:10 183 findstr.txt
2009/09/30 18:40 177 findstr2.txt
2009/09/28 11:20 15 redirect.txt
2009/09/28 11:10 226 sample.c
2009/09/28 11:10 66,048 sample.exe
2009/09/25 12:08 1,039 sample.txt
2009/09/29 18:34 26 sample2.txt
続行するには何かキーを押してください . . . ←ここで一旦停止する
2009/09/19 18:11 1,440 sample3.txt
2009/09/24 19:35 408 ssss.txt
2009/09/28 11:57 2 ssssssss.txt
2009/09/24 16:51 23 ttt.txt
14 個のファイル 69,787 バイト
3 個のディレクトリ 2,806,755,328 バイトの空き領域
C:¥sample>
なお、|(パイプ)を使用してmore
に引き渡す方法でも一画面ずつ表示させる事が出来ます。
ですが/pの方が若干、情報の表示は早いです。
C:¥sample>dir | more ←moreを使用 ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 4CC2-05DF です C:¥sample のディレクトリ 2009/10/05 16:47 <DIR> . 2009/10/05 16:47 <DIR> .. 2009/09/29 18:09 <DIR> aaa 2009/09/25 10:07 18 cc.txt 2009/10/05 16:53 34 err.txt 2009/09/19 18:22 148 find.txt 2009/09/30 18:10 183 findstr.txt 2009/09/30 18:40 177 findstr2.txt 2009/09/28 11:20 15 redirect.txt 2009/09/28 11:10 226 sample.c 2009/09/28 11:10 66,048 sample.exe -- More -- ←ここで一旦停止する
ある一定の条件を元にファイルを並び替えて表示したい時は、
/o:ソート順を指定します。指定できる条件は以下の通りです。
n 名前(アルファベット順) s サイズ (小さい順) e 拡張子 (アルファベット順) d 日時 (古い順) g グループ (ディレクトリから並べる) - 降順(-nなどと記述) C:¥sample>dir /o:s ←ファイルサイズの小さい順に表示 ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 4CC2-05DF です C:¥sample のディレクトリ 2009/10/05 16:47 <DIR> .. 2009/09/29 18:09 <DIR> aaa 2009/10/05 16:47 <DIR> . 2009/09/28 11:57 2 ssssssss.txt 小さいものから表示 2009/09/28 11:20 15 redirect.txt 2009/09/25 10:07 18 cc.txt 2009/09/24 16:51 23 ttt.txt 2009/09/29 18:34 26 sample2.txt 2009/10/05 16:53 34 err.txt 2009/09/19 18:22 148 find.txt 2009/09/30 18:40 177 findstr2.txt 2009/09/30 18:10 183 findstr.txt 2009/09/28 11:10 226 sample.c 2009/09/24 19:35 408 ssss.txt 2009/09/25 12:08 1,039 sample.txt 2009/09/19 18:11 1,440 sample3.txt 2009/09/28 11:10 66,048 sample.exe 14 個のファイル 69,787 バイト 3 個のディレクトリ 2,806,648,832 バイトの空き領域 C:¥sample>
dirに指定するファイル名(ディレクトリ名)には、ワイルドカードを使用する事ができます。
C:¥sample>dir find*.txt ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 4CC2-05DF です C:¥sample のディレクトリ 2009/09/19 18:22 148 find.txt 2009/09/30 18:10 183 findstr.txt 2009/09/30 18:40 177 findstr2.txt 3 個のファイル 508 バイト 0 個のディレクトリ 2,804,752,384 バイトの空き領域 C:¥sample> ファイル名の先頭にfindが付くファイルを表示 環境変数dircmd
環境変数とは、予めシステムに設定されている変数の事で、
環境変数にはプログラムが動作する際に参照する各種の設定などが記述されています。
コマンドプロンプトで使用するコマンドが、コマンド名だけで起動(フルパスを指定せずに)できるのは、
環境変数にプログラムのパスが記録されているからなのです。
これがdirとどういった関係があるのかという事ですが、
この環境変数の一つであるdircmdに、頻繁に使用するオプションを設定しておく事により、
dirのパラメータやオプションを事前に指定する事が出来ます。
(dir実行時にそれらのオプションを指定しなくても、指定したのと同等の結果が得られる)
この環境変数の設定にはsetというコマンドを使用します。
※setコマンドは、ここではまだご紹介していません。
ですので、とりあえずここではこの環境変数dircmdの設定方法だけ覚えて頂ければと思います。
setについてはかなり後になると思うのですが、また後日詳しく説明します。
dircmdの設定方法です。
C:¥sample>set dircmd=オプション
set dircmd=の後に予めオプションを設定しておくと、
dir実行時に指定したオプションが自動的に実行されます。 C:¥sample>set dircmd=/b ←/bをdircmdに設定 C:¥sample>dir ←何も指定していない aaa cc.txt err.txt find.txt findstr.txt findstr2.txt redirect.txt sample.c sample.exe sample.txt sample2.txt sample3.txt ssss.txt ssssssss.txt ttt.txt C:¥sample> 自動的に/bオプションが実行され、ファイルとディレクトリ名のみを表示
dircmd=の後にはパラメータを指定する事もできます。
C:¥sample>set dircmd=パラメータ(ファイル名など)
例えば・・
C:¥sample>set dircmd=find*.txt /b ←/bとfind*.txtを設定 C:¥sample>dir ←何も指定していない find.txt findstr.txt findstr2.txt C:¥sample> findではじまるファイルの一覧が、ファイル名のみで表示
では逆に、dircmdで設定したオプションを一時的に無効にしたい場合は・・
環境変数dircmdに/b(ファイルの一覧をファイル名のみで表示)が設定されている場合 C:¥sample>dir /-b ←dir実行時に/-bを指定 ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 4CC2-05DF です C:¥sample のディレクトリ 2009/09/19 18:22 148 find.txt 2009/09/30 18:10 183 findstr.txt 2009/09/30 18:40 177 findstr2.txt 3 個のファイル 508 バイト 0 個のディレクトリ 2,804,224,000 バイトの空き領域 C:¥sample> /bが無効になった
指定したオプションの前にマイナス記号(-)を記述する事で、
設定したオプションを一時的に無効にする事ができます。
では、指定したdircmdの設定を完全にクリアするには・・
C:¥sample>set dircmd=
set dircmd=を実行するだけで、既定の設定がクリアされます。
C:¥sample>set dircmd= ←set dircmd=を実行 C:¥sample>dir ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 4CC2-05DF です C:¥sample のディレクトリ 2009/10/05 16:47 <DIR> . 2009/10/05 16:47 <DIR> .. 2009/09/29 18:09 <DIR> aaa 2009/09/25 10:07 18 cc.txt 2009/10/05 16:53 34 err.txt 2009/09/19 18:22 148 find.txt 2009/09/30 18:10 183 findstr.txt 2009/09/30 18:40 177 findstr2.txt 2009/09/28 11:20 15 redirect.txt 2009/09/28 11:10 226 sample.c 2009/09/28 11:10 66,048 sample.exe ・・・以下略 dircmdに設定していたfind*.txtと/bが解除された
それでは早速、実際の使用例を挙げてみたいと思います。
上で基本的な使用法の説明は大体してしまったので、ここではまだご紹介していない使用例を掲載します。 ![]() C:¥bbb>dir /w
dirにオプション/wを指定して実行。
/wはファイルをワイド一覧形式で表示するオプションです。
実行すると・・・
![]() C:¥bbb>dir /w ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 4CC2-05DF です C:¥bbb のディレクトリ [.] [..] aa.txt aa2.txt bb.txt cc.txt [ccc] filebk.bat 5 個のファイル 354 バイト 3 個のディレクトリ 2,804,776,960 バイトの空き領域 C:¥bbb>
bbbディレクトリ内のファイルとサブディレクトリが、ワイド形式で表示されました。
では次に、上で使用した/wに
/bを追加してdirを実行してみます。
![]() C:¥bbb>dir /w/b
/bはディレクトリ名、及びファイル名のみを表示するオプションです。
これを実行すると・・
![]() C:¥bbb>dir /w/b aa.txt aa2.txt bb.txt cc.txt ccc filebk.bat C:¥bbb>
/bによってファイル名とディレクトリ名のみが表示され、
/wの指定が無視されてしまいました。
上記のように、dirのオプションに/bと /wを同時指定すると、/wは無効になります。
次に複数のオプションを組み合わせて指定してみます。
![]() C:¥bbb>dir /s/p/w/a:-d
/sはディレクトリ、サブディレクトリ内の全てのファイルを表示。
/pは一覧を一画面に表示しきれない場合、一画面ずつ表示。 /wはワイド形式でファイルの一覧を表示。
そして/a:-dは、指定した属性を持つファイルやディレクトリだけを表示するオプションです。
ここではディレクトリを表す属性文字-dが指定されています。
属性文字の前に-(マイナス記号)を記述すると、
その属性以外の属性が設定されたファイルを表示します。
よって、ここではディレクトリ名を表示しないという事になります。
では実行してみます。
(表示の問題より、画像の右端が切れていますがご了承下さい。) ![]() C:¥bbb>dir /s/p/w/a:-d ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 4CC2-05DF です C:¥bbb のディレクトリ aa.txt aa2.txt bb.txt cc.txt filebk.bat 5 個のファイル 354 バイト C:¥bbb¥ccc のディレクトリ gg.txt hh.css 2 個のファイル 708 バイト ファイルの総数: 7 個のファイル 1,062 バイト 0 個のディレクトリ 2,805,039,104 バイトの空き領域 C:¥bbb>
bbbディレクトリ内のファイル、及びサブディレクトリ内のファイル一覧が
ワイド形式で表示されました。
各ディレクトリ内にディレクトリ名は表示されていません。
ちなみに今回は表示させる情報が少なかった為、
出力を一画面ずつ表示させる/pを指定する意味はありませんでしたが、
dirを使用する時には必ず/pを指定するようにしておくと、
出力される情報が多かった場合に便利です。
※環境変数dircmdに/pを設定しておくのも良いかもしれません。
次は最後の使用例です。
![]() C:¥bbb>dir /o:-gs
/o:-gsが指定されています。
/oはファイルの一覧を指定した通りに並び替えて表示するオプションです。
ここでは-gsといったように複数の値が指定されています。
後者のsはファイルサイズの小さいものから、ファイル一覧を表示させる値です。
そしてgはファイル一覧をディレクトリから表示する値ですが、
-(マイナス記号)がついているので、ファイル名から表示するという事になります。
これを実行すると・・
![]() C:¥bbb>dir /o:-gs ドライブ C のボリューム ラベルがありません。 ボリューム シリアル番号は 4CC2-05DF です C:¥bbb のディレクトリ 2009/10/13 12:07 20 filebk.bat ↓サイズの小さいものから表示 2009/10/13 15:45 33 cc.txt 2009/10/13 15:22 80 aa2.txt 2009/10/13 15:45 107 bb.txt 2009/10/13 15:58 114 aa.txt 2009/10/16 22:08 <DIR> ccc 2009/10/13 15:20 <DIR> .. 2009/10/13 15:20 <DIR> . 5 個のファイル 354 バイト 3 個のディレクトリ 2,805,063,680 バイトの空き領域 C:¥bbb>
bbbディレクトリ内のファイル一覧が
ファイルサイズの小さいものから表示され、ディレクトリは後に表示されています。
ちなみに以前、dirの出力を|(パイプ)を使用して
sort(データの順序を並び替えて表示)というコマンドに引渡し、
データの並び替えを行うという例を掲載しました。
ですがdirでは、予め並び替えを行うオプション
「/o:ソート順」が用意されているので、
sortを使用する必要はありません。
(※この例は、こういう使い方もあるのだという一例として掲載しました)
dirの説明はここまでです。
オプションが少し多めですが、内容は単純だったと思います。
なお、上の説明で/wや/bを同時に使用すると
/wが無効になる・・と書きましたが、
コマンドのオプションには組み合わせによってこういった動作をするものが結構あります。
何度も使っているうちにわかってくるので、いちいち覚える必要はないのではないかなと思います。
それでは、また次回もどうぞよろしくお願い致します。
【関連ページ】
ファイルをコピー・結合する copyファイルやディレクトリの属性を変更 attrib ファイルをバイナリ比較して相違点を表示 comp データの順序を並び替えて表示 sort リダイレクトの様々な例 (2/2) リダイレクトを活用する (1/2) カレントディレクトリ(作業フォルダ)を変更する cd ファイル名を変更する(リネーム) ren 正規表現を使った検索例 findstr (2/2) 正規表現を使ってファイルから文字列を検索 findstr (1/2) moreコマンドと入力リダイレクトについて (2/2) ファイルの内容を1画面ずつ表示 more (1/2) ファイルから文字列を検索する find ディレクトリの階層構造を表示してテキストに出力 tree 巨大なサイズのファイルも一瞬で削除出来るコマンド del ![]() |
同カテゴリーの記事 最新5件
|
Comment:
Add a comment:
Trackback:
http://shop.denkaseihin.com/trackback/627
※記事と関連性が低い等、管理人が不適当と判断したものについては削除させて頂きます。