Windowsのバッチファイルでファイルやフォルダを操作する際に、dir
コマンドは欠かせません。dir
コマンドを使えば、フォルダ内のファイル一覧を取得したり、特定の条件でファイルを検索したりできます。バッチ処理で自動化する場合にも、ファイルの存在確認やリスト出力などに活用できるため、知っておくと便利です。
本記事では、Windowsのバッチファイルでdir
コマンドを活用する方法について、基本的な使い方から便利なオプションまで詳しく解説します。
dir
コマンドは、Windowsのコマンドプロンプトで使われるディレクトリ(フォルダ)内のファイルやフォルダの一覧を表示するコマンドです。以下のような用途に利用されます。
dir
コマンドは単体でも便利ですが、オプションを組み合わせることで、より柔軟な操作が可能になります。
dir
このコマンドを実行すると、現在のフォルダにあるファイルやフォルダの一覧が表示されます。
dir C:\Users\Public\Documents
このように、パスを指定することで別のフォルダ内のファイルを取得できます。
特定の種類のファイルだけを表示したい場合は、ワイルドカードを使用します。
dir *.txt
このコマンドを実行すると、現在のフォルダ内の「.txt」ファイルだけが表示されます。
dir /s
このオプションをつけると、現在のフォルダだけでなく、そのサブフォルダ内のファイルもすべて表示されます。
dir /b
このオプションを使うと、ファイル名のみが一覧表示され、余計な情報(ファイルサイズや日付など)は省略されます。
dir /o:n
このオプションをつけると、ファイル名順(アルファベット順)で並べ替えて表示されます。
その他の並べ替えオプション:
/o:s
→ ファイルサイズ順(小さい順)/o:-s
→ ファイルサイズ順(大きい順)/o:d
→ 日付順(古い順)/o:-d
→ 日付順(新しい順)dir /t:c
/t
オプションを使うと、どの日付情報を基準に表示するかを指定できます。
/t:c
→ 作成日時/t:a
→ 最終アクセス日時/t:w
→ 最終更新日時dir /a:h
このオプションを使うと、特定の属性を持つファイルのみを表示できます。
/a:h
→ 隠しファイル(Hidden)/a:s
→ システムファイル(System)/a:r
→ 読み取り専用(Read-only)dir /b > filelist.txt
このコマンドを実行すると、フォルダ内のファイル名が「filelist.txt」に保存されます。
dir /b *.jpg > imagelist.txt
「.jpg」ファイルのみを取得し、imagelist.txt
に出力します。
dir /s /b > allfiles.txt
サブフォルダを含めた全ファイルの一覧をテキストファイルに記録できます。
@echo off
if exist C:\Users\Public\Documents\sample.txt (
echo ファイルが見つかりました!
) else (
echo ファイルが存在しません。
)
このスクリプトは、指定したファイルが存在するかどうかを確認し、結果を表示します。
@echo off
dir /b /s *.txt | find /c /v ""
このコマンドを実行すると、現在のフォルダ内にある「.txt」ファイルの数が表示されます。
dir
コマンドは、Windowsのバッチファイルで頻繁に使われる便利なコマンドです。基本的な使い方から、オプションを活用した応用的な使い方まで幅広く対応できます。特にバッチ処理で自動化を行う際には、ファイルのリスト化や条件分岐などに活用すると、作業を効率化できます。