2012年1月4日水曜日

[コマンドプロンプト] DIR


■構文
DIR [ドライブ:][パス][ファイル名] [/A[[:]属性]] [/B] [/C] [/D] [/L] [/N]
[/O[[:]ソート順]] [/P] [/Q] [/S] [/T[[:]タイムフィールド]] [/W] [/X] [/4]


■説明
ディレクトリ中のファイルとサブディレクトリを一覧表示します。
[ドライブ:][パス][ファイル名]一覧表示するドライブ、ディレクトリ、またはファイルを指定します。
/A指定された属性のファイルを表示します。
:属性D ディレクトリ
R 読み取り専用
H 隠しファイル
A アーカイブ
S システム ファイル
- その属性以外
/Bファイル名のみを表示します (見出しや要約が付きません)。
/Cファイル サイズを桁区切り表示します。これは既定の設定です。/-C とすると桁区切り表示されません。
/D/W と同じですが、ファイルを列で並べ替えた一覧を表示します。
/L小文字で表示します。
/Nファイル名を右端に表示する一覧形式を使用します。
/Oファイルを並べ替えて表示します。
:ソート順N 名前順 (アルファベット)
S サイズ順 (小さいほうから)
E 拡張子順 (アルファベット)
D 日時順 (古いほうから)
G グループ (ディレクトリから)
- 降順
/P1 画面ごとに停止して表示します。
/Qファイルの所有者を表示します。
/S指定されたディレクトリおよびそのサブディレクトリのすべてのファイルを表示します。
/Tどのタイムフィールドを表示するか、または並べ替えに使用するかを指定します。
:タイムフィールドC 作成
A 最終アクセス
W 最終更新
/Wワイド一覧形式で表示します。
/Xこのオプションは MS-DOS 形式以外のファイル名に対する短い名前を表示します。長い名前の前に短い名前を表示する点を除けば、/N オプションと同じです。短い名前がない場合は、ブランクになります。
/44 つの数字で年を表示します。

■サンプルコード
以下のフォルダ状態の物を使ってDIRコマンドのテストをしてみます。


・オプションなし(カレントディレクトリの情報を取得)
C:\test>dir
 ドライブ C のボリューム ラベルがありません。
 ボリューム シリアル番号は 40A6-A3FB です

 C:\test のディレクトリ

2012/01/04  09:14              .
2012/01/04  09:14              ..
2012/01/04  09:20                 0 ファイル01.txt
2012/01/04  09:19                 1 ファイル02.txt
2012/01/04  09:18               810 ファイル03.txt
2012/01/04  09:17                 0 ファイル04.txt
2012/01/04  09:16                 0 ファイル05.txt
2012/01/04  09:20              フォルダ01
2012/01/04  09:19              フォルダ02
2012/01/04  09:18              フォルダ03
2012/01/04  09:17              フォルダ04
2012/01/04  09:16              フォルダ05
               5 個のファイル                 811 バイト
               7 個のディレクトリ  200,254,664,704 バイトの空き領域


・名前だけ取得したい。
C:\test>dir /B
ファイル01.txt
ファイル02.txt
ファイル03.txt
ファイル04.txt
ファイル05.txt
フォルダ01
フォルダ02
フォルダ03
フォルダ04
フォルダ05


・更新日時の古い順で、名前だけ取得したい。
C:\test>dir /B /O:D
ファイル05.txt
フォルダ05
ファイル04.txt
フォルダ04
フォルダ03
ファイル03.txt
フォルダ02
ファイル02.txt
ファイル01.txt
フォルダ01


・更新日時の新しい順で、名前だけ取得したい。
C:\test>dir /B /O:-D
フォルダ01
ファイル01.txt
ファイル02.txt
フォルダ02
ファイル03.txt
フォルダ03
フォルダ04
ファイル04.txt
フォルダ05
ファイル05.txt


・作成日時の古い順で、名前だけ取得したい。
C:\test>dir /B /O:D /T:C
フォルダ01
ファイル01.txt
フォルダ02
ファイル02.txt
フォルダ03
ファイル03.txt
フォルダ04
ファイル04.txt
フォルダ05
ファイル05.txt


・作成日時の新しい順で、名前だけ取得したい。
C:\test>dir /B /O:-D /T:C
ファイル05.txt
フォルダ05
ファイル04.txt
フォルダ04
ファイル03.txt
フォルダ03
ファイル02.txt
フォルダ02
ファイル01.txt
フォルダ01


・フォルダのうち、作成日時の古い順で、名前だけ取得したい。
C:\test>dir /B /O:D /T:C /A:D
フォルダ01
フォルダ02
フォルダ03
フォルダ04
フォルダ05


・ファイルのうち、作成日時の古い順で、名前だけ取得したい。
C:\test>dir /B /O:D /T:C /A:A
ファイル01.txt
ファイル02.txt
ファイル03.txt
ファイル04.txt
ファイル05.txt


・ファイルのうち、作成日時の古い順で、名前だけ取得して、Cドライブ直下にoutput.txtとして出力したい
C:\test>dir /B /O:D /T:C /A:A >C:\output.txt


・C:\Sampleフォルダ内、作成日時の古い順で、サブフォルダも含め表示
C:\test>dir C:\Sample /B /O:D /T:C /S
C:\Sample\1
C:\Sample\1\21
C:\Sample\1\22
C:\Sample\1\21\3
C:\Sample\1\21\tes1.txt
C:\Sample\1\21\3\4
C:\Sample\1\22\3


0 件のコメント: