多语言展示
当前在线:1514今日阅读:22今日分享:22

bat for循环如何使用

bat for循环如何使用语法是FOR %A IN (list) DO command [ parameters ]其中list是元素列表,%A 依次获取这些元素DO后面是命令 带上参数
工具/原料

bat

%A 和%%A区别

%A 用在命令行中如果你写到bat文件中,变量就要改写成%%A ,不然就会报错

%a 和%A 区别

%A 中的A可以替换成其他字母,但是前后大小写要一致。比如FOR %A IN (1 2 3) DO ECHO %a 是有问题的这样就没问题FOR %? IN (1 2 3) DO ECHO %?

bat中的嵌套for

在bat中for是不允许嵌套的。但是你可以在命令行中再次使用for,从而实现for的嵌套效果

list中放入命令

在list中,不仅可以包含参数,还可以是命令比如先查看临时文件,然后删除DIR > tempfile.txtFOR %A IN (TYPE DEL) DO %A tempfile.txt

list中的分隔符

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%

命令中变量的条件操作

下面这个语句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

FOR %%A IN (1 2 3) DO GOTO=%%A:1ECHO 1GOTO End:2ECHO 2GOTO End:3ECHO 3:End将跳到1处,而不是 1,2,3分别跳转一次。

推荐信息