LinuxとWindowsバッチでワイルドカードで指定したファイル名を変数に入れる方法の違い

2016/06/25

Linuxのシェルならワイルドカードで指定したファイル名を変数に入れるのは、コマンド置換を使えば簡単だ。

これをWindowsバッチで行う方法はFORコマンドを使用する。
※FORコマンド参考:バッチとPowerShellで昨日の日付を取得する

dir /B でdirコマンドの実行結果をファイル名の表示だけにできる。またFORコマンドでループしているため、変数filenameには最後に代入されたファイル名が入る。

今の例ではファイル名のうち一番最後のファイル名を変数にセットするというものだったが、ワイルドカードで一致する全ファイルを対象に処理をしたいのであれば、DOの後を()でくくってあげれば良い。

Linuxで全ファイルを対象に処理をするには、 xargs -I {} -sh "コマンド群" を使う。

-Linux, Windows
-