- 格式定义
循环次数
FOR /L %%param IN (start,step,end) DO command
循环常量
FOR /F ["options"] %%param IN ("Text string to process") DO command
- 注意这里只循环一次,整个字符串作为一个输入处理的。
循环命令输出
FOR /F ["options"] %%param IN ('command-to-execute') DO command
- 循环次数依赖于命令的输出行数。
常用options
- delims=: // 字段分隔符,缺省是空格
- tokens=1 // 取那几个字段,取第几个
- tokens=1,2 // 取多个字段,第一个和第二个
- tokens=1-5 // 取多个字段,第一个到第五个
%%param定义的时候只需要定义一个,使用的时候则按字母顺序递推就行,例如:for /f "delims=. tokens=1,2" %%m in ("%JAVAVER%")
,则当JVAVAVER=1.8.6_133时,%%m=1,%%n=8
,%%n不需要定义,直接使用就行。
举例
循环十次
FOR /L %%i IN (0,1,9) DO echo %%i
0
1
2
3
4
5
6
7
8
9
循环字符串
FOR /F %%v IN ("aaa bbb ccc") DO echo %%v
aaa
循环命令输出
for /f "tokens=2" %%s in ('java -version 2^>^&1') do (
echo %%s
)
version
SE
HotSpot(TM)
另一个类似find&grep的例子
for /f "tokens=3" %%g in ('java -version 2^>^&1 ^| findstr /i "version"') do (
echo=%%g
)
"15.0.2"
网友评论