3流プログラマのメモ書き

元開発職→社内SE→派遣で営業支援→開発戻り浦島太郎状態の三流プログラマのIT技術メモ書き。 このメモが忘れっぽい自分とググってきた技術者の役に立ってくれれば幸いです。

バッチファイルでフォルダ内の再帰処理

複数のユーザが使ってる Windows XP で各ユーザの Application Data 内に特定のフォルダが無ければコピーしたいという要件があります。

で、そのような処理はバッチファイルで for in do 句でループ処理を行うと可能なようです。

下記のような例となります。

rem 各ユーザプロファイルのフォルダを探す

for /D %%i in ("%SystemDrive%\Documents and Settings\*") do (

rem echo %%i

rem xxxの設定フォルダが無ければ

IF NOT EXIST "%%i\Application Data\xxx" (

xcopy "C:\xxx" "%%i\Application Data\" /e /c /q /y /i

)

rem デスクトップのショートカット削除

DEL /Q "%%i\デスクトップ\*xxx*.lnk"

)

参考:

碧落 - 知られざるバッチファイル

バッチメモ(Hishidama's bat-file Memo)