DOS循环:for命令详解 举例说明 (批量压缩成 自定义后缀名文件)

FOR 参数 %%变量名 IN (相关文件或命令)   DO 执行的命令

参数:FOR有4个参数 /d /l /r /f 他们的作用我在下面用例子解释
%%变量名 :这个变量名可以是单个的小写a-z或者大写A-Z,他们区分大小写哦~, FOR会把每个读取到的值给他!
IN:命令的格式,照写就是了!
(相关文件或命令) :FOR要把什么东西读取然后赋值给变量,不懂的话看下面的例子
do:命令的格式,照写就是了!
执行的命令:对每个变量的值要执行什么操作就写在这.
看不懂我的这些说明,可以在CMD输入for /?看系统提供的帮助!我这里也给出来吧,大家对照
FOR %%variable IN (set) DO command [command-parameters]
   %%variable   指定一个单一字母可替换的参数。
   (set)    指定一个或一组文件。可以使用通配符。
   command 指定对每个文件执行的命令。
   command-parameters
         为特定命令指定参数或命令行开关。

现在开始讲每个参数的意思

一、参数 /d

如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配

二、参数 /R

当前或者你指定路径下的文件名字全部读取,注意是文件名字

@echo off
for /r c: %%i in (*.exe) do echo %%i
pause
咱们把这个BAT保存到D盘随便哪里然后执行,我会就会看到,他把C盘根目录,和每个目录的子目录下面全部的EXE文件都列出来了!!!!

三、参数 /L

该集表示以增量形式从开始到结束的一个数字序列

(1,1,5) 将产生序列 1 2 3 4 5,(5,-1,1) 将产生序列 (5 4 3 2 1)。

@echo off
for /l %%i in (1,1,5) do start cmd
pause

 

活用DOS循环批处理操作,智能处理文件。批量压缩成 自定义后缀名文件

@echo off
for /R "E:test" %%d in (*.db) do zip %%~nd.自定义后缀名 %%~nd.db
pause

您可以选择一种方式赞助本站