好きこそものの上手なれ

他人から見れば、下手の横好きですが、そっと見守ってください。

DOSコマンドで深い階層の特定のファイル探索しながら削除したい。

人生やり直し隊ニャン

カレントにあるtestフォルダ以下の深い階層にある画像のpngを削除するDOSコマンドです。


まず、echoして確認します。

for /r %i in ("test\*.png") do echo del "%i"


問題が無ければ、

for /r %i in ("test\*.png") do del "%i"


として削除します。

正規表現ほど細かく指定できませんが、ワイルドカードを使ってある法則ファイル名を深い階層でも削除できて便利です。

(※削除なのでご注意下さい。)


バッチファイルの時は%が%%と2つ必要です。

私はバッチファイルで使っていましたが、このような1行で書けるものは直接コマンドで実行するのも新鮮でよいです。(コマンドラインで forを使うのは新鮮)



以下にしないと動かないのがあったので、備忘録として

for /r "test" %i in ("*.png") do echo "%i"


あと、pythonで test_a.py,  test_b.py, test_c.pyの複数ファイルのエラーチェックにも使えます。


for %F in(test_*.py) do python -m py_compile "%F"