for 文
set /a i=0
for %%a in (%*) do (
set /a i+=1
)
echo %i% args passed.
Code language: DOS .bat (dos)
ドキュメント:
参考:
バッチファイルの for / if 文の中で変数使う際につまづくこと – Qiita
FOR – バッチファイルで繰り返し処理を使う | JavaDrive
for – バッチファイルで繰り返し処理をする | 知識ゼロからの Windows バッチファイル超入門
バッチファイルでループ処理する | 知識ゼロからの Windows バッチファイル超入門
意外と知られていないけど、知っていると便利な FOR コマンド | Web / DB プログラミング徹底解説
for コマンドでワイルドカード指定した出力順について – Microsoft TechNet フォーラム
指定した回数繰り返す
for
文の/L
オプションを使用する
使用例
ループを 10 回繰り返す。
for /L %%i in (1, 1, 10) do (
echo Loop %%i
)
Code language: DOS .bat (dos)
参考:
遅延変数
遅延変数を有効にするには、setlocal
コマンドに enabledelayedexpansion
を指定する。
setlocal enabledelayedexpansion
Code language: DOS .bat (dos)
遅延変数として参照するには、感嘆符で変数名を囲む。
set /a i=0
for %%f in (%*) do (
set /a i+=1
echo !i!: %%~nxf
)
Code language: DOS .bat (dos)
ドキュメント:
setlocal | Microsoft Learn [公式]
参考:
遅延変数のサンプル if 文/for 文の注意点 | ITSakura
代入時の注意 (ENABLEDELAYEDEXPANSION) | FreeBSD あれこれ
コマンドの実行結果を変数に入れる
参考:
cmd.exe で Bash のバックティックのようにコマンドの出力を埋め込む – Qiita
バッチファイルでコマンドの実行結果を変数に格納する | まくまくノート
コマンドの実行結果を変数にセットする | コマンドプロンプトの予感
ラベルを使う (goto)
参考:
無限ループするバッチファイルの作り方!ラベルを使って何度も処理させてみよう! | Correct-Log
ワイルドカード
参考:
バッチファイルでワイルドカードを使ってファイルを移動する | Naokix.net
フォルダを再帰的に処理する
参考:
dir コマンドでファイルやディレクトリを再帰的に検索する | まくまくノート
dir コマンドでファイル名を再帰的に検索する方法 | よぼろぐ よの冒険記
指定フォルダにあるファイル一覧を再帰的にフルパスで取得する方法 | oki2a24
サブフォルダーも含めてすべてのファイルの拡張子を変更する方法 | Project Group
フォルダ内のファイルを再帰的にリネームするバッチファイルの書き方 | 俺の技術メモ
for 文で特殊記号を処理したい
参考:
for 文 usebackq で「)」をエスケープする方法 – teratail
escaping “=” (equal sign) in for /f – Super User
escape question mark in for loop – Stack Overflow
escaping double-quote in `delims` option of `for /F` – Stack Overflow