【bat批处理】dos命令for,循环语句读取字符串变量文件
输入命令for /?可以看到这个命令的介绍和参数帮助,for这个命令的参数比较复杂。得花点时间理解。
@echo off for %%i in (*.*) do echo %%i pause
在批处理中for使用变量的话,是需要两个%的,所以变量i就是%%i,第二行for这个命令是循环处理,把当前的目录的文件保存到变量i中,然后执行echo输出这个变量i,就是输出当前目录里边所有的文件的意思。
运行这个批处理,会输出当前目录里边的文件,这个是不加参数的时候for的使用方式。
@echo off for /d %%i in (*) do echo %%i pause
在这个批处理基础上修改一下,加了一个参数d,/D用于搜索目录(或文件夹),只搜索文件夹,不搜索文件,只搜索指定目录,不搜索子目录。

运行这个脚本能输出当前目录下边的两个文件夹,这个是参数d的用法。
@echo off for /r %%i in (*.exe) do echo %%i pause
再看一下参数r的用法,/R搜索的范围从当前目录或指定目录开始,深入所有子目录,这行命令把*.*修改为了*。exe这样会显示目录下边的子目录里边的EXE文件。
运行这个脚本能显示出当前目录子目录里所有的EXE文件。
@echo off for /l %%i in (1,1,5) do @echo %%i pause
/L 参数相当于编程里边的一个循环计数,可以根据自己设定的数量,循环次数。

运行这个脚本可以看到命令循环了五次,并输出了五个数字。
@echo off for /f %%i in (a.txt) do echo %%i pause
/F 参数参数是比较复杂,这里简单的介绍一下,它可以读取一个文本,根据指定的格式,然后保存到变量进行操作。
准备了一个a.txt,这个文本里边有三行,每行一个内容。

以上是for这个命令基础用法。
声明:本网站为“个人非营利性”网站,仅是博主与热心网友收集整理提供的经验记录和学习内容!本站文章图片来源于网络和AI,如有问题,可联系本站删除。
网站初心:一些棘手的、偏门的问题,能比较方便地在一个网站上查询、解决。
