循环遍历文件集中的每一行

以下内容将回显文件 C:\scripts\testFile.txt 中的每一行。空白行不会被处理。

for /F "tokens=*" %%A in (C:\scripts\testFile.txt) do (
  echo %%A
  rem do other stuff here
  )

更高级的示例显示,如何从受限文件集数据中导出 FOR 循环,可以用于重定向批量执行,同时将搜索到的内容保存到文件中:

@echo off
setlocal enabledelayedexpansion

for /f %%i in ('dir "%temp%\test*.log" /o:-d /t:w /b') do (
    set "last=%temp%\%%i"
    type !last! | find /n /i "Completed" >nul 2>&1 >> %temp%\Completed.log ^
     && (echo Found in log %%i & goto :end) || (echo Not found in log %%i & set "result=1"))

:: add user tasks code here
if defined result echo Performing user tasks...

:end    
echo All tasks completed
exit /b

注意,命令字符串被分成多个代码行多长,命令组用括号分隔。