bat批处理三个命令(BAT批处理命令之for)

写在前面

马上8月份要去山东培训2个月,现在能学点是点,因为到时候必鸽[思考]

过往文章
  1. BAT批处理命令之前言
  2. BAT批处理命令之type
  3. BAT批处理命令之echo
  4. BAT批处理命令之rem、pause
  5. 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

bat批处理三个命令(BAT批处理命令之for)(1)

图1

例2 获取当前目录下所有后缀为.docx的文件名,并存入指定文本文件中

for %%y in (*.docx) do @echo %%y >> 文件名集合.txt

注:*为通配符,代表任意字符,因此(*.docx)即为匹配任何的docx文档。若想匹配动图,可以写作(*.gif)。(*.*)则匹配任意后缀的文件,但不包括文件夹(为何不包含文件夹?因为文件夹没有那个点.)

bat批处理三个命令(BAT批处理命令之for)(2)

图2

bat批处理三个命令(BAT批处理命令之for)(3)

图3

例3 获取当前目录及其子目录下所有文件的名字(绝对路径),并存入指定文本文件中

for /R %%y in (*.*) do @echo %%y >> 文件名集合_1.txt

bat批处理三个命令(BAT批处理命令之for)(4)

图4

例4 文件重命名(无需Excel参与)

将所有以.docx结尾的文件重命名为xx大学_.docx,如张三.docx=>xx大学_张三.docx

for %%z in (*.docx) do @ren %%z xx大学_%%z

bat批处理三个命令(BAT批处理命令之for)(5)

图5

写在后面

for命令还有很多其他参数和功能,我也没学到,等以后工作中用上了再学。

以上。欢迎探讨。

附思维导图。

bat批处理三个命令(BAT批处理命令之for)(6)

,

免责声明:本文仅代表文章作者的个人观点,与本站无关。其原创性、真实性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容文字的真实性、完整性和原创性本站不作任何保证或承诺,请读者仅作参考,并自行核实相关内容。文章投诉邮箱:anhduc.ph@yahoo.com

    分享
    投诉
    首页