❶ 帮我看看BAT的for命令
从这个bat的功能来看,
del *.txt
不用超过10次按键就可以实现。
看来只是学习for做的练习。
建议从最基础的学起。
dir/a-d/b *.txt 都不知道什么意思,建议先把dir命令学习学习。
在cmd下输入dir/?看看帮助。
当然for命令也可以在cmd窗口输入for/?查看帮助,其中就有delims的说明。
其他dos命令都可以这样学习
if/?
rd/?
del/?
set/?
。。。。。。
❷ bat中运用for /r命令
FOR命令就是把读取的东西,然后赋值给变量。
FOR有4个参数/d、 /l 、 /r 、 /f
每个参数的意思分别如下:
/d:仅为目录
如果Set (也就是我上面写的"相关文件或命令")包含通配符(*和?),将对与Set相匹配的每个目录(而不是指定目录中的文件组)执行指定的Command。
/R:递归
进入根目录树[Drive:]Path,在树的每个目录中执行for语句。如果在/R后没有指定目录,则认为是当前目录。如果Set只是一个句点(.),则只枚举目录树。
/L:迭代数值范围
使用迭代变量设置起始值(Start#),然后逐步执行一组范围的值,直到该值超过所设置的终止值(End#)。/L将通过对Start#与End#进行比较来执行迭代变量。
/f:迭代及文件解析
使用文件解析来处理命令输出、字符串及文件内容。使用迭代变量定义要检查的内容或字符串,并使用各种ParsingKeywords选项进一步修改解析方式。
❸ 请问bat中的for命令,如果要跳过开头两行及最后三行,该怎么表示
for 循环命令,只要条件符合,它将多次执行同一命令。
格式FOR [%%f] in (集合) DO [命令]
只要参数f在指定的集合内,则条件成立,执行命令
如果一条批处理文件中有一行:
for %%c in (*.bat *.txt) do type %%c
含义是如果是以bat或txt结尾的文件,则显示文件的内容。
❹ bat文件用for命令添加文本
@echo off
for /f "tokens=*" %%i in (1.txt) do (echo abc%%i>>2.txt)
pause提取1.txt生成2.txt,也可添加字符串后直接替换为原文件名代码如下.
@echo off
for /f "tokens=*" %%i in (1.txt) do (echo abc%%i>>2.txt)
move 2.txt 1.txt
pause
❺ bat学习,for命令怎么用
@echo off
echo 一键清除。。。
for %%a in ( c,d,e,f,g,h,i,j ) do ( del %%a:\_desktop.ini /f /s /q/a)
echo 清理完毕
echo. & pause
❻ bat中for命令后的输出(在线等,请高手指点)
@echo off&setlocal EnableDelayedExpansion
set a=0
for /l %%i in (1,1,2) do (set /a a+=1 && echo !a!)
pause>nul
试试看
❼ bat 如何循环一段命令 goto或for都行
让bat脚本循环执行有以下两种方法:
第一、可以直接加个%0,即执行本身,实现循环。
第二、用goto命令,去到要重复的开头,如果要限制次数,可以先set 一个值,循环一次减1,条件命令到0退出,实现循环。
(7)batfor命令行扩展阅读:
goto语句一般格式如下:
goto 语句标号; 其中语句标号是按标识符规定书写的符号, 放在某一语句行的前面,标号后加冒号(:)。语句标号起标识语句的作用,与goto 语句配合使用。
如: label: i++;
loop: while(x<7);
goto loop;
goto语句的语义是改变程序流向, 转去执行语句标号所标识的语句。goto语句通常与条件语句配合使用。可用来实现条件转移, 构成循环,跳出循环体等功能。
❽ bat中的“for”的用法。~
学批处理当然要学到for了
看看他的基本格式
FOR 参数 %%变量名 IN (相关文件或命令) DO 执行的命令
参数:FOR有4个参数 /d /l /r /f 比较常用的是/f参数
%%变量名 :这个变量名可以是小写a-z或者大写A-Z,他们区分大小写哦~
IN:命令的格式,照写就是了!
(相关文件或命令) :FOR要把什么东西读取然后赋值给变量,不懂的话看下面的例子
do:命令的格式,照写就是了!
当然我们可以不加任何参数执行FOR,这个时候他可以加通配符号进行操作,看我的例子.
例子:
@echo off
for %%i in (c:\windows\*.txt) do echo %%i
pause
这个会打印c:\windows\目录下的全部TXT文件的文件名字.
❾ bat批处理 for命令疑问
我告诉你哦.
你这个代码是循环的.
因为arp -a取出的是多行信息.
循环每次都CALL一次12.bat的..
你可以在CMD命令行下直接arp -a看看输出信息就明白啦
❿ BAT批处理文件for循环的基本格式方法
你还在为不知道BAT批处理文件for循环的基本格式方法而烦恼么?接下来是我为大家收集的BAT批处理文件for循环的基本格式方法教程,希望能帮到大家。
BAT批处理文件for循环的基本格式方法
一,基本格式
对一组文件中的每一个文件执行某个特定命令。
FOR %variable IN (set) DO command [command-parameters]
%variable 指定一个单一字母可替换的参数。
(set) 指定一个或一组文件。可以使用通配符。
command 指定对每个文件执行的命令。
command-parameters
为特定命令指定参数或命令行开关。
在批处理程序中使用 FOR 命令时,指定变量请使用 %%variable
而不要用 %variable。变量名称是区分大小写的,所以 %i 不同于 %I.
参数:for有4个参数 /d /l /r /f 他们的作用在下面的例子中讲解
二,参数/d
FOR /D %variable IN (set) DO command [command-parameters]
如果集中包含通配符,则指定与目录名匹配,而不与文件名匹配。
例如:
@echo off
for /d %%i in (c:*) do echo %%i
pause
运行后, 会把c盘根目录下的全部目录打印出来, 不会打印文件
例子:
@echo off
for /d %%i in (???) do echo %%i
pause
会把当前目录下有目录名字只有1-3个字母的,就会显示出来,没有就不显示了
* 号表示任意N个字符,而?只表示任意一个字符
三,参数/r
FOR /R [[drive:]path] %variable IN (set) DO command [command-parameters]
检查以 [drive:]path 为根的目录树,指向每个目录中的 FOR 语句。
如果在 /R 后没有指定目录规范,则使用当前目录。如果集仅为一个单点(.)字符,
则枚举该目录树。
/r 可以把当前或者你指定路径下的文件名全部读取,注意是文件名字,
注意2点:
1.set中的文件名如果含有通配符(?或*),则列举/r参数指定的目录及其下面的所有子目录中和set相符合的所有文件,无相符文件的目录则不列举
2.相反,如果set中为具体文件名,不含通配符,则列举该目录树,而不管set中的指定文件是否存在
例子:
@echo off
for /r d: %%i in (*.exe) do echo %%i
pause
将把d盘里以exe结尾的文件全部列出来
@echo off
for /r d: %%i in (boot.ini) do echo %%i
pause
列举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
pause
将会列出12345 这几个值
@echo off
for /l %%i in (1,1,5) do start cmd
pause
会打开5个cmd的窗口
五,参数/F
迭代及文件解析
使用文件解析来处理命令输出,字符串及文件内容,使用迭代变量定义要检查的内容或字符串,并使用各种option选项来进一步
修改解析方式,使用options令牌选项指定那些令牌应该作为迭代变量传递
注意:在没有使用令牌选项时,/f将只检查第一个令牌
文件解析过程包括读取输出,字符串或文件内容,将其分成独立的文本行以及在将每行解析成零个或更多个令牌
让后通过设置为令牌的迭代变量值,调用for循环,默认情况下,/f传递每个文件每一行的第一个空白分隔符,跳过空行
命令格式:
FOR /F ["options"] %variable IN (file-set) 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个字段
usebackq 指定新语法已在下类情况中使用:
在作为命令执行一个后引号的字符串并且一个单
引号字符为文字字符串命令并允许在 file-set
中使用双引号扩起文件名称。
例子:
@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
pause
del text.txt
运行......
解释:
eol=; 分号开头的行尾注释行
tokens=1,3- 将每行第1段,第3段和剩余地段分别赋予变量%%i,%%j,%%k
delims=,- (减号后有一空格)以逗号减号和空格为分隔符,空格必须放在最后
例子:
@echo off
for /f "skip=4 delims=" %%i in ('net user') do echo %%i
pause
这样你本机全部账号名字就出来了把括号内的内容用两个单引号起来就表示那个当命令执行,for会返回命令的没行结果,加那个"delims=" 是为了让空格的行能正行显示出来,不加就默认只显示空格左边一列,应为默认的分隔符为空格或叫跳格键。
看了“BAT批处理文件for循环的基本格式方法”还想看:
1. 批处理文件
2. bat命令怎么批处理
3. bat批处理命令
4. 常用的文件格式集锦
5. bat批处理文件显示乱码怎么办