Windowsのバッチファイルを使って指定したフォルダ配下にある全てのファイルを処理する例を解説します。
この記事では指定したフォルダ配下にある全ての.txtファイルを削除するという処理を書いてみます。
サンプルコード
次の様にファイルが存在している状態を前提としてみます。
この状態でtest1.txt、test2.txt、test3.txtの3つを全て削除するサンプルコードは次の様になります。
1 2 3 |
FOR /R C:\temp\test %%I IN (*.txt) DO ( del %%I ) |
解説
それではオプションを解説していきます。
/R
指定したフォルダ(この例ではC:\temp\test)を再帰的に処理します。
C:\temp\test
処理したいフォルダのパスです。指定しない場合はカレントディレクトリが処理対象になります。
%%I
取得したファイルのパスが入ります。%%Iじゃなくても%%Aでも%%Xでもいいです。バッチファイル内では%を2つ重ねる必要があります。DOSのコンソール上で直接実行する場合、%は重ねません。
*.txt
処理したいファイルのパターンです。
まとめ
今回実行した処理はこんなバッチを書かないでも「del /S C:\temp\test\*.txt」と書けばコマンド一発で実行できますが、DO()の中を変更すれば他にも色々と応用が利くと思いますので参考にしてみてください。