コマンドプロンプトを使うと、PC内に保存されているファイルの一覧をコマンド操作で表示したり、一括してテキスト出力することができる。この記事では、コマンドプロンプトでファイル一覧を表示する方法やテキスト出力する方法や注意点について解説する。
dirコマンドの使い方
Windowsに標準搭載されているコマンドプロンプトでは、コマンド操作によってさまざまな操作ができる。コマンドプロンプトでできるコマンド操作には、ファイル一覧を表示したり、表示したファイル一覧をテキスト出力したり、といった操作もある。出力したファイル名からファイルの変更などの操作を一括で行うこともできる。
この記事では、エクスプローラーだけでは把握することが難しい、ディレクトリ内のファイルの一覧をコマンドプロンプトで取得したり、ファイルを一括で操作する方法、コマンドプロンプトでファイルの一覧を取得するときの注意点などについて詳しく見ていこう。
コマンドプロンプトでファイル一覧を表示するためのコマンドは「dir」コマンドである。まずは「dir」コマンドの基本的な使い方を解説する。
・フォルダの中身を表示するコマンド
「dir」コマンドとは、指定したフォルダの中身を表示するためのコマンドである。Linux系の「ls」コマンドと同じ意味を持つコマンドだ。
コマンドプロンプトを起動したら、dirコマンドを入力してEnterキーを押してみよう。
すると、ユーザー名の下のフォルダに作成されているファイルとディレクトリ(フォルダ)の一覧が表示される。
特定のフォルダの中身だけを表示したい場合には、dirコマンドの後にフォルダ名を入力してEnterキーを押す。
この場合は、ユーザー名以下に作成されている「test」というフォルダの中のファイルやディレクトリだけを表示している。
・主なオプション
コマンドプロンプトでファイルの一覧を取得するためのdirコマンドにはいくつものオプションが用意されている。オプションを使うと、ファイル名の一覧の表示方法を変更したり、必要な情報だけを表示したり、見やすいように表示を変更したりできる。
dirコマンドを使う上で覚えておくと便利なオプションをいくつか紹介する。
ー特定の属性のファイルやフォルダの一覧だけを表示するオプション
dirコマンドだけでは、指定したすべてのファイルやフォルダが表示されてしまう。しかし、dirコマンドのオプションには特定の属性のファイルやフォルダだけを一覧表示するためのオプションがある。特定の属性のファイルやフォルダだけを表示するオプションは次のように記述する。
dir [フォルダ名] /a:(属性の指定)
指定できる属性は次のとおりである。
d:フォルダ(ディレクトリ)
r:読み取り専用
h:隠しファイル
a:アーカイブ
s:システムファイル
i:非インデックス対象ファイル:
l:再解析ポイント
-:上記の属性以外
例えば、ユーザー名以下のtestフォルダ内のフォルダを表示したい場合には次のように記述する。
dir test /a:d
このオプションでは、属性の前に「-」を付けると、指定した属性以外のものを表示することができる。例えば次のように記述すると、隠しファイルは表示しないように指定できる。
dir test /a:-h
ーファイル名・フォルダ名だけを表示するオプション
dirコマンドでファイル名を取得すると、ファイルの更新日時などの情報も表示される。これらの情報が必要な場合もあるが、ファイル名やフォルダ名、ファイルの種類だけがわかればいいという場合もある。
dirコマンドのオプションにはファイルの更新日時などの詳細を表示せずに、ファイル名やフォルダ名だけを表示できるオプションもある。このオプションは次のように記述する。
dir [フォルダ名] /b
このオプションを使うと、表示がスッキリする。
ー横並びで結果を表示するオプション
dirオプションで表示したファイル名の一覧は通常は縦方向に一覧表示される。しかし、ファイル名の一覧表示を縦に並べるのではなく、横に並べたい時に使えるオプションもある。このオプションは次のように記述する。
dir [フォルダ名] /w
ー並び順を変更するオプション
並び方を指定しなければ、dirコマンドの結果は更新が新しい順に一覧が表示される。しかし、名前順や古い順などで並べたいときもあるだろう。dirコマンドのオプションには、ファイルやフォルダの一覧の並び順を変更するオプションがある。このオプションは次のように記述する。
dir [フォルダ名] /o:(並び順の指定)
並び順は次のように指定できる。
n:アルファベット
s:サイズ
e:拡張子のアルファベット
d:日時(古い順)
g:グループ
-:降順
アルファベット順に並べるようにオプションを使うとこのようになる。
並び順を指定すると昇順に表示される。しかし、並び順の指定の前に「-」を付けると降順に表示される。
ーサブフォルダの中身も表示するオプション
dirコマンドだけでは、指定したフォルダの中にサブフォルダがあっても、サブフォルダの中身までは表示されない。しかし、サブフォルダの中身も表示するオプションがある。このオプションは次のように記述する。
dir [フォルダ名] /s
【コマンドプロンプト】ファイル一覧をテキスト出力する方法
コマンドプロンプトに表示されたファイル名の一覧は、そのままではコピペしてメモ帳などに貼り付けることができない。表示された一覧のテキストをテキストで出力するための操作方法について見ていこう。
・[結果を出力したいコマンド] > [ファイル名]
表示されたファイル名やフォルダ名の一覧の結果をテキストファイルに出力することができる。テキストファイルに出力したい場合には、一覧を表示するコマンドの後に次のように記述する。
[結果を出力したいコマンド] > [ファイル名]
例えば、testフォルダのサブフォルダまで表示した結果を、「files.txt」というテキストファイルに出力するには次のように記述する。
dir test /s > files.txt
この場合には、ファイルが作成されるだけでコマンドプロンプトに結果が表示されない。
・コマンドプロンプトでの結果をクリップボードにテキストとして保存する方法
コマンドプロンプトで出力される結果をファイルとして出力する方法だけでなく、結果のテキストをクリップボードに保存する方法もある。クリップボードに保存する場合には、次のように記述する。
[結果を出力したいコマンド] |clip
例えば、testフォルダのサブフォルダまで表示した結果のテキストをクリップボードに保存する場合には次のように記述する。
dir test /s |clip
すると出力された結果のテキストがクリップボードに保存される。メモ帳などのテキストエディタを開いて「Ctrl+V」で貼り付けてみよう。
【コマンドプロンプト】ファイル操作を一括で行う方法
ファイル名やファイル形式を変換したい時に、大量のファイルがある場合、一つずつファイル操作を行うのはとても大変である。コマンドプロンプトで取得したファイルの一覧を使うと、ファイルに対する操作を一括で行える。
ここからは、コマンドプロンプトで取得したファイル一覧を使ってファイルを一括操作する方法を見ていこう。今回は、testフォルダの中にある画像ファイルの拡張子を一括して変換して、ファイル形式を「.jpg」から「.png」へ変更するように操作してみる。
【方法①】ファイル一覧を取得する
まずはファイルの一覧を取得する。今回はサブディレクトリの中のファイルも一括して変換したいので、サブディレクトリの中のファイルも取得した上で、「gazou.txt」というファイル名のテキストファイルとして出力する。なお、今回必要なのはファイル名だけなので、他の情報は表示しないように設定する。
【方法②】一覧を編集してコマンドリストを作成する
出力した一覧を編集しやすいテキストエディタもしくはExcelなどに貼り付けて、ファイル変換するための編集を行う。今回はファイルの拡張子を変更するので、「ren」コマンドを使うように編集する。
【方法③】コマンドリストを実行する
ファイルを一括変換できるようにコマンドを編集したら、編集したコマンドをコマンドプロンプトに流して実行する。コマンドプロンプトへの流し方は、編集したコマンドをそのままコピーして、コマンドプロンプト上で貼り付ければいい。
複数行のコマンドを貼り付けると、1行ずつ改行するところでコマンドが実行される。
【コマンドプロンプト】ファイル操作をする時の注意点
コマンドプロンプトでファイル操作を行う場合には一つ大切な注意点がある。注意点に気をつけないと、ファイル操作が止まってしまうことがあるので覚えておこう。大切な注意点とは、半角空白の扱い方についての注意点である。
ファイル名には半角空白を入れることができる。英単語の区切りに使うときの感覚で、ファイル名に半角空白を入れることもあるだろう。また、一括してファイル名を変更した時に勝手に半角空白が入ってしまうことがある。
しかし、コマンドプロンプトでは、コマンドの区切りとして半角空白が使われている。ファイル名に半角空白が入っている場合、半角空白がファイル名としてではなく、命令を実行するためのコマンドの区切りとして認識されてしまうことがある点が注意点だ。
すると、ファイル名の半角空白はコマンドを実行する位置としてはおかしな位置にあるので、コマンドを実行してもエラーになってしまう。
そこで理解しておきたい注意点としては、半角空白を含んだファイル名をそのまま使わなくてはいけないときには、半角空白を「”(ダブルクォーテーション)」で囲む必要がある。ダブルクォーテーションで囲んだ半角空白であれば、ファイル名などに使われている半角空白として認識されるので、問題なくコマンドでの命令の実行が処理される。
この注意点を理解していないと、半角空白が混じったファイル名で何度もエラーが起きてしまい、前に進めなくなることがある。ファイル名やフォルダ名に半角空白を入れてしまうと、コマンドプロンプトでの操作だけでなく、その他の場合にも支障をきたすことがある。
ファイル名を付けるときには、半角空白を入れないという注意点に気をつけるようにしよう。どうしても半角空白のあるファイル名の操作が、コマンドプロンプトで必要なときにはダブルクォーテーションで囲むという注意点も頭に入れておくといいだろう。
※サムネイル画像(Image:MyImages – Micha / Shutterstock.com)