导航:首页 > 程序命令 > 批处理循环命令

批处理循环命令

发布时间:2023-07-18 09:54:54

㈠ 批处理执行循环命令

1、批处理的变量是两个%,如%%a
2、do后面的命令行最好用英文的括号括起来,如
for /f "tokens=1 delims=," %%a in (ou.txt) do ( dsadd ou ou=%%a,dc=guan,dc=com)
pause这运行下我这行命令,看有什么错误提示没?

㈡ 批处理BAT怎么用循环输出字符串

你好!

下面代码可以实现你要的功能:

@echooff

for/l%%iin(100001,1,100099)do(
setx=%%i
echo!x:~-5!>>a.txt
)
pause
>a.txt是覆盖内容
>>a.txt是追加内容

希望对你有帮助!

㈢ 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批处理文件显示乱码怎么办

㈣ 如何让bat脚本循环执行

让bat脚本循环执行有以下两种方法:

第一、可以直接加个%0,即执行本身,实现循环。
第二、用goto命令,去到你要重复的开头,如果要限制次数,可以先set 一个值,循环一次减1,条件命令到0退出,实现循环。

㈤ 请教,cmd下如何用for不断循环一条命令,而不是执行一遍,也不是在bat里

一、@echo off

:s

ping localhost -n 5 > nul

echo

goto s

pause

每隔5秒显示一次

或用死循环

:start

@echo C:UsersadminDesktop

@goto start

二、@echo off

:Loop

for /l %%i in (1,1,221) do labelme_json_to_dataset %%i.json

goto Loop

(5)批处理循环命令扩展阅读:

参数在批处理的表达是%0,%1,%2....%9 ,以及全部参数%*(不包括%0)

%0的初始量是批处理本身路径,类似%~f0

一般你只能取前九个参数,除非你使用%*

shift命令允许你获取后面的参数

格式:shift [/n]

n为1~8的数

shift 会使%0变成%1,%1变成%2……%9变成原来的第10个参数(不推荐)

一般使用shift /1,将会从%1开始替换,保留原%0

注意:call标签时参数也是可用的,而且当返回时参数将变回原来的。

㈥ 批处理循环语句

for语句
例:
循环创建文件夹名为1~10000的文件夹
for /l %%a in (1,1,10000) do md %%a

㈦ 批处理循环执行某一程序1小时

@echooff
set@=q&set/an=0x53b7e0b4
titleAnyquestion+%@%%@%%n%
rem子程序完整路径
set"subbat=D:xxx.bat"
rem监控时长,单位(秒)
settimer=3600

rem计时器,xp以上系统可以用timeout命令取代
(echo;Setfso=CreateObject^("Scripting.Filesystemobject"^)
echo;bs=String^(30,Chr^(8^)^)
echo;Fori=CLng^(WSH.Arguments^(0^)^)to1step-1
echo;fso.GetStandardStream^(1^).write"Waitingfor"^&i^&"seconds"
echo;WSH.Sleep1000
echo;fso.GetStandardStream^(1^).writebs
echo;Next
echo;WSH.echo""
echo;WSH.Quit)>"%tmp% .vbs"
(echo;while^(!WSH.StdIn.AtEndOfStream^){
echo;varline=WSH.StdIn.ReadLine^(^).replace^(/s*$/,''^);
echo;varm=line.match^(/^^^(.+^)s+^(d+^)$/^);
echo;WSH.echo^(m[2]+'^|'+m[1]^);}
echo;WSH.Quit^(^);)>"%tmp% .js"
>"%tmp% imer.bat"echo;@echooff^&titleAnyquestion+%@%%@%%n%
>>"%tmp% imer.bat"echo;modeconcols=50lines=8
>>"%tmp% imer.bat"echo;cscript-nologo-e:vbscript"%%tmp%% .vbs"%timer%
>>"%tmp% imer.bat"echo;wmicProcesswhere"Name='cmd.exe'"getCommandLine,ProcessId^|findstr"[0-9]"^|cscript-nologo-e:jscript"%%tmp%% .js"^>"%%tmp%% .log"
>>"%tmp% imer.bat"echo;for/f"delims=^|"%%%%ain('type"%%tmp%% .log"^^^|find/i"%subbat%"')dotaskkill/f/pid%%%%a/t
>>"%tmp% imer.bat"echo;for/f"delims=^|"%%%%ain('type"%%tmp%% .log"^^^|find/i"%~0"')dotaskkill/f/pid%%%%a
>>"%tmp% imer.bat"echo;pause^&exit

rem开始子程序
start"""%subbat%"-n-t

rem开始计时
start"""%tmp% imer.bat"

rem循环监控
:loop
wmicProcesswhere"Name='cmd.exe'"getCommandLine|find/i"%subbat%"||(
rem如果检测到subbat没有运行则重开
rem如果子程序运行完无法正常退出,在子程序代码里加上exit命令
echo;restartat%date%%time%
start"""%subbat%"-n-t
)
>nulping/n20
goto:loop

阅读全文

与批处理循环命令相关的资料

热点内容
云服务器宕机概率 浏览:227
在线买药用什么app知乎 浏览:810
ubuntu解压xz文件 浏览:674
宏杰加密时电脑关机 浏览:388
自己写单片机编译器 浏览:598
单片机按键闪烁 浏览:380
为什么icloud总是显连接服务器失败 浏览:888
如何设置域控服务器 浏览:738
想在上海租房子什么app好 浏览:184
编译程序各部分是必不可少的吗 浏览:885
编程不超过十行 浏览:763
数电编译器的作用 浏览:337
时间算法与现在有什么区别 浏览:164
7zip解压后没文件夹 浏览:903
为什么安卓送玫瑰ios收不到 浏览:10
美篇文章加密是什么意思 浏览:83
ilasm编译dll 浏览:39
呼吸灯单片机程序 浏览:954
linux域socket 浏览:250
qq分身怎么样才能加密 浏览:457