循环遍历文件集中的每一行
以下内容将回显文件 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
注意,命令字符串被分成多个代码行多长,命令组用括号分隔。