2024年5月25日发(作者:)
批处理命令行中for循环基本用法
for循环是在办公自动化中非常实用的语句之一,本节讨论DOS语言中for循环的
各种模式:如/r,/d,/l,/f等,以及各种参数:如tokens,delims,usebackq等的基
本用法。我们须要根据实际情况选择不同的模式和参数来配置for循环以达到我们的目
的。
1、【for语句的常规用法】
形式1:for %%i in (字符串集合/数字列表/…) do 命令语句
@echo off
for %%i in (aa,bb,cc) do echo %%i
pause
结果为:
aa
bb
cc
注:这里如果用点进行分割,字符串会作为一个整体输出
如果用逗号分割,则会一次一个单次进行打印。
判断某个磁盘是否存在,如果盘符存在,则输出它:
@echo off
echo 存在有驱动器:
for %%i in (a,b,c,d,e,f,g) if exist %%i: echo %%i
pause
显示当前目录下的文件名称(非文件夹,文件夹将不会被列出):
@echo off
for %%i in (*.*) do echo "%%i"
pause
仅显示当前目录下的txt文件名称(通配符*.txt的用法):
@echo off
for %%i in (*.txt) do echo "%%i"
pause
1
把txt换成其他扩展名亦可仅列出其他格式的文件名
仅显示当前目录下的txt文件名称(通配符?规定字符个数):
@echo off
for %%i in (??.txt) do echo "%%i"
pause
仅会输出当前目录下文件名为2个字符的txt文件名
2、【关于for语句的/f模式(遍历文件内容模式)】
①/f模式
/f模式用于遍历文件中的内容:
@echo off
for /f %%i in () do echo %%i
pause
运行的结果,
会逐行打印文件中的内容
②delims参数(表示分隔符)
使用delims提取每一行在特定符号之前的内容;
当设置delims为逗号(,)时,
只显示每一行逗号之前内容;
@echo off
for /f "delims=," %%i in () do echo %%i
pause
如果识别切分的符号有多个,
则可以直接继续在第一个后面写,例如:
"delims=.,"
此时会先判定是否有英文句号,
2


发布评论