bat for循环如何使用语法是FOR %A IN (list) DO command [ parameters ]其中list是元素列表,%A 依次获取这些元素DO后面是命令 带上参数
工具/原料
bat
%A 和%%A区别
1、%A 用在命令行中如果你写到bat文件中,变量就要改写成%%A ,不然就会报错
%a 和%A 区别
1、%A 中的A可以替换成其他字母,但是前后大小写要一致。比如FOR %A IN (1 2 3) DO ECHO %a 是有问题的这样就没问题FOR %? IN (1 2 3) DO ECHO %?
bat中的嵌套for
1、在bat中for是不允许嵌套的。但是你可以在命令行中再次使用for,从而实现for的嵌套效果
list中放入命令
1、在list中,不仅可以包含参数,还可以是命令比如先查看临时文件,然后删除DIR > tempfile.txtFOR %A IN (TYPE DEL) DO %A tempfile.txt
list中的分隔符
1、list中的分隔符可以是空坼黉赞楞格,逗号,分号。当然你也可以通过for /f 自己定义分隔符for /F "tokens=1-3 delims=_" %%i in (&qu泠贾高框ot;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就能实现判断赋值
在for中使用goto
1、FOR %%A IN (1 2 3) DO GOTO=%%A:1ECHO 1GOTO End:2ECHO 2GOTO End:3ECHO 3:End将跳到1处,而不是 1,2,3分别跳转一次。