Chapter 08

find -exec 相当の処理

zetamatta
zetamatta
2020.10.19に更新
このチャプターの目次

無駄にいろいろ方法がありますので、一つ一つご紹介します。

for文

一つは for文の /R オプションです。例として、自分の %USERPROFILE%\bin に置いている、%USERPROFILE%以下のツリーにあるゴミファイルを片づけるバッチです。

cd %~dp0..
for /R %%I in (*.orig *~ svn-commit*.tmp .*.swp *.rej ) do (del /P "%%I")

最初の「%~dp0..」はバッチが置いてあるディレクトリの親ディレクトリを意味します。

forfiles.exe

最近の Windows では forfiles.exe という find 相当のコマンドも標準装備されています。

forfiles /S /M *.cpp /C "cmd /c echo @path"

こちらは一度に /M オプションで指定できるパターンは一つだけのですが、ファイル名の展開用マクロ(@path,@isdir)がいろいろ使えます。詳しい仕様は forfiles /? で確認できます。