bat批处理编程语言:BAT批处理命令之for
bat批处理编程语言:BAT批处理命令之for图2for %%y in (*.docx) do @echo %%y >> 文件名集合.txt注:*为通配符,代表任意字符,因此(*.docx)即为匹配任何的docx文档。若想匹配动图,可以写作(*.gif)。(*.*)则匹配任意后缀的文件,但不包括文件夹(为何不包含文件夹?因为文件夹没有那个点.)例1 批量生成名为1~10.docx空文件for /L %%x in (1 1 10) do @echo.> %%x.docx/L参数 告诉for命令,后面的(set)是个序列序列格式 (开始 步长 结束),(1 1 10)即从1开始,一直到10结束,每次增加1。如果想生成1、3、5...序列,可将步长改为2图1例2 获取当前目录下所有后缀为.docx的文件名,并存入指定文本文件中
写在前面马上8月份要去山东培训2个月,现在能学点是点,因为到时候必鸽[思考]
过往文章- BAT批处理命令之前言
- BAT批处理命令之type
- BAT批处理命令之echo
- BAT批处理命令之rem、pause
- BAT批处理命令之ren/rename(与Excel合作批量修改文件名)
学过编程语言,如C/C 、VB/VBA或Python的人,对for循环关键字应该都再熟悉不过了。那么本期,我们就来看一下批处理中for命令的基础语法和基本用法吧。
基本格式
FOR %variable IN (set) DO command
- %variable 循环变量,应是单一字母,如%I或%i,区分大小写
- (set) 可以是一组文件或是一个序列,可以使用通配符(*)
- command 对每个文件或变量执行的命令
- 在批处理程序中使用时,指定变量请使用 %%variable,即双百分号
光说不练假把式,来看几个例子。
例1 批量生成名为1~10.docx空文件
for /L %%x in (1 1 10) do @echo.> %%x.docx
- /L参数 告诉for命令,后面的(set)是个序列
- 序列格式 (开始 步长 结束),(1 1 10)即从1开始,一直到10结束,每次增加1。如果想生成1、3、5...序列,可将步长改为2
图1
例2 获取当前目录下所有后缀为.docx的文件名,并存入指定文本文件中
for %%y in (*.docx) do @echo %%y >> 文件名集合.txt
注:*为通配符,代表任意字符,因此(*.docx)即为匹配任何的docx文档。若想匹配动图,可以写作(*.gif)。(*.*)则匹配任意后缀的文件,但不包括文件夹(为何不包含文件夹?因为文件夹没有那个点.)
图2
图3
例3 获取当前目录及其子目录下所有文件的名字(绝对路径),并存入指定文本文件中
for /R %%y in (*.*) do @echo %%y >> 文件名集合_1.txt
图4
例4 文件重命名(无需Excel参与)
将所有以.docx结尾的文件重命名为xx大学_.docx,如张三.docx=>xx大学_张三.docx
for %%z in (*.docx) do @ren %%z xx大学_%%z
图5
写在后面for命令还有很多其他参数和功能,我也没学到,等以后工作中用上了再学。
以上。欢迎探讨。
附思维导图。