一、for循环基础语法与应用场景
for循环是批处理脚本的核心控制结构,用于重复执行指定命令,常见于批量文件处理、网络检测等场景。
语法格式:
for %%变量 in (参数列表) do 命令
- 变量命名:单个命令行用 %变量 ,脚本中需用 %%变量 (如 %%i )。
- 参数列表:支持通配符(如 *.txt )、范围(如 (1,1,5) 表示1到5,步长1)或枚举值(如 (a b c) )。
二、for循环实战场景解析
场景1:批量处理文件(遍历目录下所有txt文件)
@echo offfor %%i in ("D:\test\*.txt") do ( echo 正在处理文件:%%i type %%i >> D:\test\all.txt // 合并文件内容到all.txt)pause
关键点:
- 用通配符 *.txt 匹配指定类型文件。
- () 内可执行多条命令,需用 & 或换行分隔。
场景2:数值循环(从1到10输出数字)
@echo offfor /l %%i in (1,1,10) do ( // /l表示按范围循环,格式:(起始,步长,结束) echo 数字:%%i)pause
三、实例:用for循环批量ping主机
检测多个IP地址的连通性,输出存活主机。
@echo off
for /L %%i in (1,1,254) do ( echo ---------------------- ping -n 1 192.168.1.%%i | find "TTL=" > nul if errorlevel 1 (
powershell -Command "Write-Host '192.168.1.%%i - 不通' -ForegroundColor Red" ) else (
powershell -Command "Write-Host '192.168.1.%%i - 通' -ForegroundColor Green" ))color 07pause
测试结果:
说明:
隐藏Ping输出:>nul 将ping命令的输出重定向到空设备,避免控制台被刷屏。
错误级别判断:
if errorlevel 1 检查上一个命令(ping)的退出代码,非0表示不通。
使用PowerShell的Write-Host命令分别以红色(不通)和绿色(通)输出结果。
颜色显示:
红色:不通的IP地址
绿色:可达的IP地址
分隔线:每个IP检测后输出分隔线保持结果清晰。
领取专属 10元无门槛券
私享最新 技术干货