ファイルリストを抽出して、引数として渡せるようなbatを作る

2015年3月18日水曜日

PC

t f B! P L

便利なお気に入りソフトが、引数をひとつしか与えられないものだと、まとめて何かを処理するときにちょっと不便です。

やりたいこと

フォルダ内のファイルを抽出して、フリーソフトに渡して連続処理するbatを作る

フォルダのファイル

手順

コマンドで

dir /b *.jpg > filename.txt

とすると、filename.txtにファイル名だけが抽出されます

このファイルに対してSEDを使って、各行の先頭にフリーソフトの実行文を挿入します。

sedを使った挿入方法

sed "s/^/挿入したい内容/g" 元ファイル > 挿入後のファイル

Windows用のSED

windowsはSEDは装備していないので、代わりにonigsedを使います。記事

挿入したい内容はC:\freesoft\goodsoft.exe 。\は特殊記号なので前に\を追加して二重に。

元ファイルはfilename.txt

挿入後のファイルはgood-syori.bat

C:\freesoft\onigsed\onigsed.exe "s/^/C:\\freesoft\\goodsoft.exe /g" filename.txt > good-syori.bat

結果は

となります。

good-syori.batを実行すれば、ひとつひとつファイルを処理してくれます。

 

 

上の二つの処理をbatファイルにしておけばスムーズです。

dir /b *.jpg > filename.txt

C:\freesoft\onigsed\onigsed.exe "s/^/C:\\freesoft\\goodsoft.exe /g" filename.txt > good-syori.bat

ファイル名などを引数で渡すようにすれば、汎用性も高まります。

スポンサーリンク

このブログを検索

QooQ