batfor循环如何使用语法是FOR%AIN(list)DOcommand[parameters]其中list是元素列表,%A依次获取这些元素DO后面是命令带上参数
工具/原料
bat
%A和%%A区别
1、%A用在命令行中如果你写到bat文件中,变量就要改写成%%A,不然就会报错
%a和%A区别
1、%A中的A可以替换成其他字母,但是前后大小写要一致。比如FOR%AIN(123)DOECHO%a是有问题的这样就没问题FOR%?IN(123)DOECHO%?
bat中的嵌套for
1、在bat中for是不允许嵌套的。但是你可以在命令行中再次使用for,从而实现for的嵌套效果
list中放入命令
1、在list中,不仅可以包含参数,还可以是命令比如先查看临时文件,然后删除DIR>tempfile.txtFOR%AIN(TYPEDEL)DO%Atempfile.txt
list中的分隔符
1、list中的分隔符可以是空坼黉赞楞格,逗号,分号。当然你也可以通过for/f自己定义分隔符for/F"tokens=1-3delims=_"%%iin(&qu泠贾高框ot;ABC_DEF_GHI")do(SET"FIRST=%%i"SET"SEC=%%j"SET"THR=%%k")ECHOFIRST=%FIRST%ECHOSEC=%SEC%ECHOTHR=%THR%
命令中变量的条件操作
1、下面这个语句FOR%%钽吟篑瑜AIN(123)DOIF"%VAR%"==""SET惺绅寨瞀VAR=%%A执行的结果是VAR等于3,而不是1因为VAR被设置为空然后执行FOR循环,看起来就是FOR%%AIN(123)DOIF""==""SETVAR=%%A,所以最后VAR=3要实现判断,我们可以再建一个文件TEST2.bat内容是IF"%VAR%"==""SETVAR=%1通过FOR%%AIN(123)DOCALLTEST2.BAT%%A就能实现判断赋值
在for中使用goto
1、FOR%%AIN(123)DOGOTO=%%A:1ECHO1GOTOEnd:2ECHO2GOTOEnd:3ECHO3:End将跳到1处,而不是1,2,3分别跳转一次。