バッチforループ


Cディスクの下のディレクトリを巡る
@echo off
for /d %%i in ("c:\*.*") do @echo %%i
pause

Cディスクを巡るディレクトリ名の長さが6以下のディレクトリ
@echo off
cd "C:\Program Files"
for /d %%i in (??????) do @echo %%i
pause

C:Program Filesディレクトリの下にあるすべてのexeを表示
@echo off  
rem for      
cd "C:\Program Files"
for /r  %%i in (*.exe) do @echo %%i
rem for /r c:/ %%i in (*.exe) do @echo %%i   C     exe
pause

::  C:\Program Files      exe

サイクルインクリメント、(1,1,5)最初の1は初期値、2番目の1はインクリメント、5は終了値を表すため、このバッチ実行後の結果は1 2 3 4 5である
@echo off
for /l %%i in (1,1,5) do @echo %%i
pause

a.txtの内容を読み出し、a.txtのテキストは:11 12 13 21 22 23 31 33
@echo off
for /f %%i in (a.txt) do echo %%i
pause

出力11 21 31は、デフォルトのスペーサがスペースまたはtabであるため
@echo off
for /f "tokens=2,3 delims= " %%i in (a.txt) do echo %%i %%j
pause

rem   tokens=2,3                    
@echo off
for /f "tokens=* delims= " %%i in (a.txt) do echo %%i
pause

rem   tokens=*           
@echo off
for /f "tokens=2,* delims= " %%i in (a.txt) do echo %%i %%j
pause

rem   tokens=2,*                 

最初の2行をスキップして、3行目のテキストの内容を直接読み込みます.
@echo off
for /f "skip=2 tokens=*" %%i in (a.txt) do echo %%i
pause

a2.txtの内容は以下の通りである.11 12 13.21 22 23 32 33
@echo off
for /f "eol=. tokens=*" %%i in (a2.txt) do echo %%i
pause

rem    “.”    
@echo off
for /f "skip=1 delims=" %%i in (a.txt) do echo %%i
pause

rem   delims     ,      ???

バッチコマンドforループでdelimsを二重引用符で区切る方法
for /f tokens^=1^,2^ delims^=^" %%a in (a.txt) do echo %%a %%b
    pause