bat for循环如何使用
1、%A 用在命令行中
如果你写到bat文件中,变量就要改写成%%A ,不然就会报错
1、%A 中的A可以替换成其他字母,但是前后大小写要一致。比如
FOR %A IN (1 2 3) DO ECHO %a 是有问题的
这样就没问题
FOR %? IN (1 2 3) DO ECHO %?
1、在bat中for是不允许嵌套的。
但是你可以在命令行中再次使用for,从而实现for的嵌套效果
1、在list中,不仅可以包含参数,还可以是命令
比如先查看临时文件,然后删除
DIR > tempfile.txt
FOR %A IN (TYPE DEL) DO %A tempfile.txt
1、list中的分隔符可以是空格,逗号,分号。当然你也可以通过for /f 自己定义分隔符
for /F "tokens=1-3 delims=_" %%i in ("ABC_DEF_GHI") do (
SET "FIRST=%%i"
SET "SEC=%%j"
SET "THR=%%k"
)
ECHO FIRST=%FIRST%
ECHO SEC=%SEC%
ECHO THR=%THR%
1、下面这个语句
FOR %%A IN (1 2 3) DO IF "%VAR%"=="" SET VAR=%%A
执行的结果是 VAR等于3,而不是1
因为VAR被设置为空 然后执行FOR循环,
看起来就是 FOR %%A IN (1 2 3) DO IF ""=="" SET VAR=%%A ,所以最后VAR=3
要实现判断,我们可以再建一个文件TEST2.bat 内容是
IF "%VAR%"=="" SET VAR=%1
通过 FOR %%A IN (1 2 3) DO CALL TEST2.BAT %%A就能实现判断赋值
1、FOR %%A IN (1 2 3) DO GOTO=%%A
:1
ECHO 1
GOTO End
:2
ECHO 2
GOTO End
:3
ECHO 3
:End
将跳到1处,而不是 1,2,3分别跳转一次。