BAT批处理文件for循环的基本格式方法
你还在为不知道BAT批处理文件for循环的基本格式方法而烦恼么?接下来是我为大家收集的BAT批处理文件for循环的基本格式方法教程,希望能帮到大家。
BAT批处理文件for循环的基本格式方法
一,基本格式
对一组文件中的每一个文件执行某个特定命令。
FOR %variable IN (t) DO command [command-parameters]
%variable 指定一个单一字母可替换的参数。
(t) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters
为特定命令指定参数或命令行开关。
在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable
而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.
参数:for有4个参数 /d /l /r /f 他们的作用在下面的例子中讲解
二,参数/d
FOR /D %variable IN (t) DO command [command-parameters]
如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。
例如:
@echo off
for /d %%i in (c:*) do echo %%i
pau
运行后, 会把c盘根目录下的全部目录打印出来, 不会打印文件
例子:
@echo off
for /d %%i in (???) do echo %%i
pau
会把当前目录下有目录名字只有1-3个字母的,就会显示出来,没有就不显示了
* 号表示任意N个字符,而?只表示任意一个字符
三,参数/r
FOR /R [[drive:]path] %variable IN (t) DO command [command-parameters]
检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。
如果在 /R 后没有指定目录规范,则使用当前目录。如果集仅为一个单点(.)字符,
则枚举该目录树。
/r 可以把当前或者你指定路径下的文件名全部读取,注意是文件名字,
注意2点:
1.t中的文件名如果含有通配符(?或*),则列举/r参数指定的目录及其下面的所有子目录中和t相符合的所有文件,无相符文件的目录则不列举
2.相反,如果t中为具体文件名,不含通配符,则列举该目录树,而不管t中的指定文件是否存在
例子:
@echo off
for /r d: %%i in (*.exe) do echo %%i
pau
将把d盘里以exe结尾的文件全部列出来
@echo off
for /r d: %%i in (boot.ini) do echo %%i
pau
列举d盘中存在boot.ini文件的目录
四。
FOR /L %variable IN (start,step,end) DO command [command-parameters]
该集表示以增量形式从开始到结束的一个数字序列。因此,(1,1,5)将产生序列
1 2 3 4 5,(5,-1,1)将产生序列(5 4 3 2 1)
start 为起始值,stup为增量,end结束值,
例子:
@echo off
for /l %%i in (1,1,5) do echo %%i
pau
将会列出12345 这几个值
@echo off
for /l %%i in (1,1,5) do start cmd
pau
会打开5个cmd的窗口
五,参数/F
迭代及文件解析
使用文件解析来处理命令输出,字符串及文件内容,使用迭代变量定义要检查的内容或字符串,并使用各种option选项来进一步
修改解析方式,使用options令牌选项指定那些令牌应该作为迭代变量传递
注意:在没有使用令牌选项时,/f将只检查第一个令牌
文件解析过程包括读取输出,字符串或文件内容,将其分成独立的文本行以及在将每行解析成零个或更多个令牌
让后通过设置为令牌的迭代变量值,调用for循环,默认情况下,/f传递每个文件每一行的第一个空白分隔符,跳过空行
命令格式:
FOR /F ["options"] %variable IN (file-t) DO command [command-parameters]
FOR /F ["options"] %variable IN ("string") DO command [command-parameters]
FOR /F ["options"] %variable IN ('command') DO command [command-parameters]
带引号的字符串“options”包括一个或多个
指定不同解析选项的关键字,这些关键字为:
eol=c 指定一个注释字符的结尾(就一个)
skip=n 指在文件开始时忽略的行数
delims=xxx 指定分隔符集,这个替换了空格和跳格键的默认分隔符集
tokens=x,y,m-n 指每行的哪一个符合被传递到每个迭代的for本身,这回倒是额外名称的分配,m-n格式为一个范围
通过nth符号指定mth,如果符号字符串中的最好一个字符星号,那么额外的变量将在最好一个符号解析之后分配并接受行的保留文本,
经过测试,该参数最多只能区分31个字段
ubackq 指定新语法已在下类情况中使用:
在作为命令执行一个后引号的字符串并且一个单
引号字符为文字字符串命令并允许在 file-t
中使用双引号扩起文件名称。
例子:
@echo off
rem 首先建立临时文件,用完删除>test.txt
echo ;注释行,这个是临时文件,用完删除>text.txt
echo 11 12 13 14 15 16 >> test.txt
echo 21,22,23,24,25,26 >> test.txt
echo 31-32-33-34-35-36 >> test.txt
for /F "eol=; tokens=1,3* delims=,- " %%i in (test.txt) do echo %%i %%j %%k
pau
del text.txt
运行......
解释:
eol=; 分号开头的行尾注释行
tokens=1,3- 将每行第1段,第3段和剩余地段分别赋予变量%%i,%%j,%%k
delims=,- (减号后有一空格)以逗号减号和空格为分隔符,空格必须放在最后
例子:
@echo off
for /f "skip=4 delims=" %%i in ('net ur') do echo %%i
pau
这样你本机全部账号名字就出来了把括号内的内容用两个单引号起来就表示那个当命令执行,for会返回命令的没行结果,加那个"delims=" 是为了让空格的行能正行显示出来,不加就默认只显示空格左边一列,应为默认的分隔符为空格或叫跳格键。
看了“BAT批处理文件for循环的基本格式方法”还想看:
1. 批处理文件
2. bat命令怎么批处理
3. bat批处理命令
4. 常用的文件格式集锦
5. bat批处理文件显示乱码怎么办
电脑如何修改并运行批处理格式文件?
你好,一般我们会把几个要执行的命令输入到一个文本文档中,然后保存为bat批处理命令运行。但是保存批处理文件双击运行后,有用户发现屏幕只是闪了一下,批处理文件没有运行。这是批处理文件格式保存错误导致的无效操作问题。我们可以参考以下方法来避免这个问题。
1.在记事本中编辑后,点击“文件”——“另存为”;
2.如果看到下面的代码显示“Unicode”,可能存在批处理文件无法运行的问题;
3.点击下拉框,选择“ANSI”代码;
4.另外,保存类型最好选择“所有文件”,避免另存为TXT文件;
5.另外,在所有设置完成后,不要忘记点击保存按钮保存bat文件。
按照上面的步骤在电脑中保存bat文件,就可以避免批处理文件格式在电脑中保存错误导致操作无效的问题。
bat是什么格式的文件?
bat是批处理文件的扩展名。
1、目前比较常见的批处理包含两类:DOS批处理和PS批处理。
2、它应用于DOS和Windows系统中,它是由DOS或者Windows系统内嵌的命令解释器(通常是COMMAND.COM或者CMD.EXE)解释运行。
3、处理文件,或称为批处理程序,是由一条条的DOS命令组成的普通文本文件,可以用记事本直接编辑或用DOS命令创建,也可以用DOS下的文本编辑器Edit.exe来编辑。
4、如果需要实现更复杂的应用,利用外部程序是必要的,这包括系统本身提供的外部命令和第三方提供的工具或者软件。
5、批处理程序虽然是在命令行环境中运行,但不仅仅能使用命令行软件,任何32位的Windows程序都可以放在批处理文件中运行。
什么是批处理文件?
所谓批处理文件就是将一些常用的命令写入一个文本文件内。当使用这个批处理文件时,只要键入批处理的文件名,系统将依照文件中的命令来执行全部或者是一部分指定要执行的命令。这样就可以简化我们的工作,而不用每次都需要手动键入很多的命令来执行一些动作。
因为批处理文件是以纯文本的形式存在的,所以只要有字处理功能的软件就可以建立批处理文件;当然,利用“COPY
CON
文件名.BAT”的命令形式也可以建立批文件。
在使用批处理文件时,我们应该了解以下这些问题:
批处理文件的扩展名为.BAT,执行时无需键入扩展名。
批处理文件不能与DOS命令的扩展名为.COM、.EXE的文件同名否则就不能被执行,因为对同名文件系统执行的次序为DOS内部命令→.COM→.EXE→批命令。
可用TYPE命令查看批处理文件的内容。
利用∧C和∧Break终止批处理文件的执行,机器会提示Terminal
batch
job(Y/N)?,回答Y则终止。
AUTOEXEC.BAT被称为系统批处理文件,启动DOS时会自动执行该文件,所以其内可存储一些希望每次启动DOS时都执行的DOS命令或实用程序。注意:此文件必须存放在启动盘的根目录中才起作用。
批处理作业语句
ECHO
禁止或允许屏幕的命令显示语句;
REM
注释语句;
PAUSE
暂停语句;
GOTO
转向语句;
IF
条件判断语句;
FOR
重复执行语句;
SHIFT
左移参数语句;
CALL
调用语句。
批处理文件是什么?作用是什么?
批处理文件是指文件后缀名为“.bat”的文件,它的作用是可以一次批量执行大量的命令。这种文件在dos时期曾被大量使用,win9x时期也有,但已经开始少用了,最典型的是autoexec.bat这个文件了。
1.什么是批处理文件?批处理文件的作用是什么?
批处理文件(Batch File,简称 BAT文件)是一种在DOS 下最常用的可执行文件。它具有灵活的操纵性,可适应各种复杂的计算机操作。所谓的批处理,就是按规定的顺序自动执行若干个指定的DOS命令或程序。即是把原来一个一个执行的命令汇总起来,成批的执行,而程序文件可以移植到其它电脑中运行,因此可以大大节省命令反复输入的繁琐。同时批处理文件还有一些编程的特点,可以通过扩展参数来灵活的控制程序的执行,所以在日常工作中非常实用。
2.批处理文件的格式是什么?
批处理文件起源于DOS时代,在DOS时代的扩展名为.bat(即是batch的缩写),可使用Copy con、Edit、WPS等DOS程序来编辑。
经时代的发展,现今批处理文件已经不止支持DOS下的程序,同时也支持Windows环境程序的运行,在Windows NT以后的平台中,还加入了以.cmd为扩展名的批处理文件,其性能比.bat文件更加优越,执行也与.bat文件一样方便快捷。
注:由于.bat文件是基于16平台下的程序,在Windows NT及以后的32位中运行时偶尔会出现堆栈溢出之类的错误,所以建议在新的系统中尽可能的采用.cmd扩展的批处理文件代替.bat的文件。
3.如何来编写批处理文件?
其实编写批处理文件并没有什么编程环境的要求,任何一个文本编辑器都可以用来编写批处理文件,像DOS下的Edit、WPS以及DOS自带的Copy命令的扩展copy con命令就可以编写,Windows下的记事本、写字板等。
4.批处理文件的工作平台。
由于批处理文件其实就是一个命令的集合,所以批处理文件的工作平台是由这些命令所工作的平台来决定,今天我们在这里主要研究的是Microsoft环境下的批处理文件(.bat和.cmd文件),所以这里的平台,当然也就是指Microsoft的DOS和Windows系统。
5.批处理文件的应用。
现今Windows环境已经如此普及,程序的运行只要点击几次鼠标就可以完成,所以造成很多人都已经不了解批处理文件的作用,特别是那些新接触电脑的用户,而更多的了解它的人却是那些程序设计人员,但不可否认,批处理文件有很多优点是其它程序所无法比拟的,最主要的优点就是编写环境的宽松,编写人员能力要求较低。
其实我们经常可以接触到批处理文件,只是我们很少注意而已,像Windows 9x启动时加载的Autoexec.bat文件就是一个批处理文件,当然这个批处理文件是一个比较特殊的批处理文件,至于详细这个文件的相关介绍,大家可以到网上查看相关的文档。另外就是我们安装程序的时候,经常可以看到有一个黑色的命令行窗口跳出来,这时其实大部分可能性它执行的就是一个批处理文件。
“批处理文件 .bat、.cmd”是什么意思???(高手请进)
.bat就是批处理文件。也就是一组命令行的集合。
.com是一种可执行文件的后缀。
这两种文件,在资源管理器里面直接用鼠标点击就能执行。也可以在CMD界面下执行。文件名就是命令。
文件名+后缀,来源于unix系统。DOS系统沿用。
后缀一般用来简单表示文件的类型。
windows系统沿用了部分DOS外壳(shell)用以提供命令行维护界面。