この記事は会員限定です。会員登録(無料)すると全てご覧いただけます。
対象:Windows 7/Windows 8.1/Windows 10/Windows Server 2008 R2/Windows Server 2012/Windows Server 2012 R2/Windows Server 2016
ファイルの整理や文書作成などのために、ファイル名やフォルダ名(ディレクトリ名)の一覧を取得して、その結果をテキストファイルにしたり、アプリに貼り付けたりしたいことがあるだろう。だが[スタート]メニューからアクセスできる検索機能(Windows 10ならCortanaの検索窓)や、エクスプローラの右上にある検索ツールでは、検索はできるものの、その結果の一覧をテキストデータにしたり、アプリに貼り付けたりすることは簡単ではない。
このような場合は、コマンドプロンプトを起動してdirコマンドを実行し、その結果をファイルにリダイレクトしたり、クリップボードに送ったりすれば簡単にファイル名の一覧を取得できる。オプションを付ければ、ファイル名だけやフォルダ名だけを取り出すことも可能だ。本TIPSでは、その方法を紹介する。
ファイル名やフォルダ名の一覧を取得するには、dirコマンドを利用してその出力をファイルにリダイレクトして書き込めばよい。このときフォルダ内に不必要なファイルがあるときは、「dir *.txt」のようにワイルドカードを指定することにより、特定のファイル名や拡張子を持つファイルだけを列挙できる。なお、コマンドプロンプトやdirコマンドの基本的な使い方については、TIPS「これだけは覚えておきたいWindowsのコマンドプロンプトの使い方」を参照していただきたい。
だがこの例のように、単にdirを実行するだけでは上下に余分な情報(空き領域サイズなど)が含まれている。ファイル名の部分だけを取り出すには、コマンドプロンプト上でマウスを使ってテキストを選択してコピーしてもよいが、「/b」オプションを付けてファイル名だけを表示させる方が簡単だ。
ファイルの一覧を保存するには、「リダイレクト機能」を使って、結果をファイルに書き込めばよい。そのためには、「 > 」に続けて、保存したいファイル名を指定する。最初は「><ファイル名>」を付けずにファイル一覧が正しく表示されるかどうかを確認してみよう。正しい結果が得られているようならば、[F3]/[F7]/[F8]キーあるいは[↑]矢印キーを押して、直前に実行したコマンドラインを表示させる。そして今度は「><ファイル名>」を付けて出力をリダイレクトして実行し、結果を書き込めばよい。
リダイレクト前の確認時に、出力が大量で出力結果の画面がスクロールしてしまう場合は、「/p」オプションを付けると(「dir /p *.txt」のようにする)、1画面ごとに停止するので、結果を確認しやすくなる。
上の例ではdirコマンドの結果をファイルに出力しているが、いちいちファイルを経由せず、直接クリップボードに結果をコピーできた方が便利なことも多い。クリップボード経由なら、アプリを切り替えれば、すぐに[Ctrl]+[V]キーで結果を貼り付けできるからだ。
dirコマンドの結果を直接クリップボードにコピーするには、dirコマンドに続けて「| clip」というコマンドを指定する。例えば「dir *.txt /b | clip」とする。「|(縦棒)」は「パイプ記号」と言い、直前のコマンドの実行結果を別のコマンドに渡すという機能を持つ。この場合は、dirコマンドの結果がclipコマンドに渡され、それがさらにclipコマンドによってクリップボードにコピーされる。
Copyright© Digital Advantage Corp. All Rights Reserved.