Windowsでファイルとフォルダのリストを出力するバッチファイル
先日、Windowsで大量のフォルダを一括で作成するバッチファイルについて投稿しましたが、このバッチとも相性が良いファイルやフォルダのリストを出力するバッチを作成しました。
バッチの中で使用しているコマンドは現在対応中の案件で愛用しているのですが、いずれ使わなくなったら忘れてしまいそうなので備忘録として残しておこうかと思った次第です。
フォルダのリストを出力するバッチ
@echo off pushd %~dp0 dir %1 /b /ad /s > list.txt exit
ファイルのリストを出力するバッチ
@echo off pushd %~dp0 dir %1 /b /a-d /s > list.txt exit
※実はフォルダとファイルで内容が1文字違うだけだったり。
使い方
- 上記のバッチを作成し、任意の場所に配置します。
- リスト化したいフォルダやファイルをバッチにドラッグ&ドロップします。
- バッチと同じフォルダ配下に「list.txt」とリストファイルが出力されます。
実例
サンプル用にCドライブ直下に下記のようにフォルダ・ファイルが配置された「sample」フォルダを用意しました。
C:\sample\dir1\file1.txt
C:\sample\dir2\dir3\
C:\sample\dir2\dir4\dir5\file2.txt
C:\sample\dir2\dir4\dir5\file3.txt
「sample」フォルダを「dirlist.bat」にドラッグ&ドロップした結果
C:\sample\dir1
C:\sample\dir2
C:\sample\dir2\dir3
C:\sample\dir2\dir4
C:\sample\dir2\dir4\dir5
⇒フォルダのみのリストが出力されます。
「sample」フォルダを「filelist.bat」にドラッグ&ドロップした結果
C:\sample\dir1\file1.txt
C:\sample\dir2\dir4\dir5\file2.txt
C:\sample\dir2\dir4\dir5\file3.txt
⇒ファイルのみのリストが出力されます。
上記をコマンドプロンプト上で実行した場合のイメージ
最後に
現在、愛用しているコマンドをバッチ化して、更に少し引数を追加することでドラッグ&ドロップに対応したらより便利になりました。良かったらご参考まで。