Windows TIPS
| [User Interface] |
dirコマンドでファイル名の一覧を取得する
|
→ 解説をスキップして操作方法を読む
デジタルアドバンテージ
2004/12/04 |
|
| 対象OS |
| Windows NT |
| Windows 2000 |
| Windows XP |
| Windows Server 2003 |
|
|
 |
| ■ |
ファイル名の一覧を取得するには、dir /bコマンドを利用する。 |
| ■ |
ファイル名やフォルダ名だけを取得するには/adや/a-dオプションを利用する。 |
| ■ |
dir /sコマンドでファイルを検索することができる。 |
|
|
ファイルの整理やドキュメント作成などのために、ファイル名やフォルダ名(ディレクトリ名)の一覧を取得して、その結果をテキスト・ファイルなどにしたい場合は多い。だが[スタート]メニューの[検索]ツールでは、検索はできるものの、その結果の一覧をファイルに出力することはできない。
このような場合は、コマンド・プロンプトを起動してdirコマンドを実行し、その結果をファイルにリダイレクトすると、簡単にファイル名の一覧を取得することができる。オプションを指定すれば、ファイル名だけとかフォルダ名だけを取り出すことも可能だ。ただしdirコマンドでは、ファイル・サイズや日付(作成日付、更新日付、最終アクセス日付)などを条件にして検索することはできないので、そのような高度な検索を行いたい場合は、関連記事などを参照していただきたい。
dirによるファイル名の一覧表示
ファイル名やフォルダ名の一覧を取得するにはdirコマンドを利用してその出力をファイルにリダイレクトして書き込めばよい。このときフォルダ内に不必要なファイルがあるときは、「dir *.txt *.doc」のようにワイルドカードを指定することにより、特定のファイル名や拡張子を持つファイルだけを列挙することができる。
C:\WORK\TEXT>dir r* …rで始まるファイル名の検索
ドライブ C のボリューム ラベルは NTFSVOL です
ボリューム シリアル番号は 2C40-9E3A です
C:\WORK\TEXT のディレクトリ
2004/12/02 10:21 3,086 r.txt …ファイル名1
2004/12/02 12:53 <DIR> Result …フォルダ名
2004/12/02 10:26 43,948 result.txt …ファイル名2
2 個のファイル 47,034 バイト
1 個のディレクトリ 10,362,789,888 バイトの空き領域
|
だがこの例のように、単に「dir」を実行するだけでは上下に余分な情報(空き領域サイズなど)が含まれているので、「/b」オプションを付けてファイル名だけを取り出すとよい。
C:\WORK\TEXT>dir r* /b …/bでファイル名だけを出力させる
r.txt …結果。余分な情報は表示されない
Result
result.txt
|
しかしこの例をよく見ると、ファイル名だけでなく、フォルダ名も含まれている(この例では「Result」はフォルダ名)。ファイルだけを取り出すには、/aオプションで、表示させたい属性を指定する。例えばフォルダだけを取り出すには「dir /ad」とし(dはdirectoryの略)、フォルダ以外(つまりファイル)だけを取り出すには「dir /a-d」とする。
C:\WORK\TEXT>dir r* /b/a-d …ファイル名だけを表示させる
r.txt …結果
result.txt
C:\WORK\TEXT>dir r* /b/ad …フォルダ名だけを表示させる
Result …結果
|
サブフォルダも検索する/sオプション
サブフォルダの内容も含めて検索するには「/s」オプションを利用する。/bオプションとともに利用すると、合致するファイルのフルパス名が表示される(パス名がないと、どのフォルダにあるファイルかが分からなくなるため)。
C:\WORK\TEXT>dir r* /b/a-d/s …サブフォルダも検索させる
C:\WORK\TEXT\r.txt
C:\WORK\TEXT\result.txt
C:\WORK\TEXT\Result\regopt.txt
C:\WORK\TEXT\Result\reset.txt
C:\WORK\TEXT>dir r* /b/a-d/s > \filelist.txt …結果をファイルに出力する
|
ファイルの一覧を保存するには、最後の行のように、「> ファイル名」で結果をファイルに書き込めばよい。一般的には、まず「> ファイル名」なしでファイルが正しく表示されるかどうかを調べ、正しい結果が得られているようならばもう一度出力をリダイレクトして実行し、結果を書き込めばよい。なおコマンド・プロンプト上で前のコマンドを再実行するには、[F3]や[F7]キーを押すか、[↑]矢印キーを押す。また出力が大量に存在して出力結果の画面がスクロールしてしまう場合は、「/p」オプションを付けて、1画面ごとに停止させるとよい(moreコマンドへリダイレクトするよりも手軽である)。
ファイルの検索
/sオプションはサブフォルダの内容も表示させるコマンドであるが、ファイル検索のために利用することもできる。
C:\prj>dir r*.txt/s/b …カレント・フォルダ以下から検索する
C:\prj\WWW\public1\readme.txt
C:\prj\WWW\tools\htmlconv\ReadMe.txt
|
これはカレント・フォルダから下を探すだけであるが、「dir フォルダ名\ファイル名 /s」のようにすれば、(カレント・フォルダの場所にかかわらず)指定したフォルダ以下を検索させることができる。
D:\TEXT>dir c:\windows\system32\*html* /s/b …システム・フォルダの下を検索
c:\windows\system32\MSHTML.DLL
c:\windows\system32\mshtml.tlb
c:\windows\system32\mshtmled.dll
c:\windows\system32\mshtmler.dll
…(以下省略)…
|
|
この記事と関連性の高い別のWindows TIPS |
|
|
generated by
|
|
TechTargetジャパン
Windows Server Insider フォーラム 新着記事
キャリアアップ

**先週の人気講座ランキング**
〜 Android編 〜