便利なお気に入りソフトが、引数をひとつしか与えられないものだと、まとめて何かを処理するときにちょっと不便です。
やりたいこと
フォルダ内のファイルを抽出して、フリーソフトに渡して連続処理する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
ファイル名などを引数で渡すようにすれば、汎用性も高まります。