📄 cmdbat.mht
字号:
</span>如果返回码等于指=
450;的数字,则条件成立=
;,运行命令,否则运&#=
34892;下一句。<span
lang=3DEN-US> <br>
</span>如<span lang=3DEN-US>if errorlevel 2 goto x2 </span> <s=
pan
lang=3DEN-US> <br>
DOS</span>程序运行时都会返&=
#22238;一个数字给<span
lang=3DEN-US>DOS</span>,称为错误码<span
lang=3DEN-US>errorlevel</span>或称返回码ʌ=
92;常见的返回码为<span
lang=3DEN-US>0</span>、<span lang=3DEN-US>1</span>。<span lang=
=3DEN-US>10.for
</span>命令<span lang=3DEN-US> <br>
for </span>命令是一个比较复=
杂的命令,主要用于=
1442;数在指定的范围内঑=
0;环执行命令。<span
lang=3DEN-US> <br>
</span>在批处理文件中使=
992;<span
lang=3DEN-US> FOR </span>命令时,指定&#=
21464;量请使用<span
lang=3DEN-US> %%variablefor {%variable|%%variable} in (set) do command [
CommandLineOptions] <br>
%variable </span>指定一个单一字&#=
27597;可替换的参数。<span
lang=3DEN-US> <br>
(set) </span>指定一个或一组ਧ=
1;件。可以使用通配符&=
#12290;<span
lang=3DEN-US> <br>
command </span>指定对每个文件=
191;行的命令。<span
lang=3DEN-US> <br>
command-parameters </span>为特定命令指&=
#23450;参数或命令行开关=
290;<span
lang=3DEN-US> <br>
</span>在批处理文件中使=
992;<span
lang=3DEN-US> FOR </span>命令时,指定&#=
21464;量请使用<span
lang=3DEN-US> %%variable <br>
</span>而不要用<span lang=3DEN-US> %variable</span>=
。变量名称是区分大=
3567;写的,所以<span
lang=3DEN-US> %i </span>不同于<span lang=3DEN-US> %I</spa=
n>如果命令扩展名被启&=
#29992;,下列额外的<span
lang=3DEN-US> FOR </span>命令格式会受&#=
21040;<span
lang=3DEN-US> <br>
</span>支持<span lang=3DEN-US>:FOR /D %variable IN (set) DO com=
mand
[command-parameters] <br>
</span>如果集中包含通配=
526;,则指定与目录名匹=
;配,而不与文件<span
lang=3DEN-US> <br>
</span>名匹配。<span lang=3DEN-US>FOR /R [[drive:]p=
ath]
%variable IN (set) DO command [command-</span>检查以<span
lang=3DEN-US> [drive:]path </span>为根的目录&=
#26641;,指向每个目录中=
340;<span
lang=3DEN-US> <br>
FOR </span>语句。如果在<span lang=3DEN-=
US> /R
</span>后没有指定目录,=
017;使用当前<span
lang=3DEN-US> <br>
</span>目录。如果集仅为=
968;个单点<span
lang=3DEN-US>(.)</span>字符,则枚举#=
813;目录树。<span
lang=3DEN-US>FOR /L %variable IN (start,step,end) DO command [command-para<=
/span>该集表示以增量形ó=
35;从开始到结束的一个=
数字序列。<span
lang=3DEN-US> <br>
</span>因此,<span lang=3DEN-US>(1,1,5) </span>将&#=
20135;生序列<span
lang=3DEN-US> 1 2 3 4 5</span>,<span lang=3DEN-US>(5,-1,1) </span>&#=
23558;产生<span
lang=3DEN-US> <br>
</span>序列<span lang=3DEN-US> (5 4 3 2 1)</span>。<span
lang=3DEN-US>FOR /F ["options"] %variable IN (file-set) DO comman=
d <br>
FOR /F ["options"] %variable IN ("string") DO command <=
br>
FOR /F ["options"] %variable IN ('command') DO command</span>=
110;者,如果有<span
lang=3DEN-US> usebackq </span>选项<span lang=3DEN-US>:FOR /F [&=
quot;options"]
%variable IN (file-set) DO command <br>
FOR /F ["options"] %variable IN ("string") DO command <=
br>
FOR /F ["options"] %variable IN ('command') DO command <br>
filenameset </span>为一个或多个文=
件名。继续到<span
lang=3DEN-US> filenameset </span>中的<span lang=3DEN-US> <br>
</span>下一个文件之前,=
599;份文件都已被打开、=
;读取并经过处理。<span
lang=3DEN-US> <br>
</span>处理包括读取文件A=
292;将其分成一行行的文=
;字,然后将每行<span
lang=3DEN-US> <br>
</span>解析成零或更多的=
526;号。然后用已找到的=
;符号字符串变量值<span
lang=3DEN-US> <br>
</span>调用<span lang=3DEN-US> For </span>循环z=
90;以默认方式,<span
lang=3DEN-US>/F </span>通过每个文件=
340;每一行中分开<span
lang=3DEN-US> <br>
</span>的第一个空白符号=
290;跳过空白行。您可通=
;过指定可选<span
lang=3DEN-US> "options" <br>
</span>参数替代默认解析=
805;作。这个带引号的字=
;符串包括一个或多个<s=
pan
lang=3DEN-US> <br>
</span>指定不同解析选项=
340;关键字。这些关键字=
;为<span
lang=3DEN-US>:eol=3Dc - </span>指一个行注%=
322;字符的结尾<span
lang=3DEN-US>(</span>就一个<span lang=3DEN-US>) <br>
skip=3Dn - </span>指在文件开始时&=
#24573;略的行数。<span
lang=3DEN-US> <br>
delims=3Dxxx - </span>指分隔符集。Ű=
25;个替换了空格和跳格=
键的<span
lang=3DEN-US> <br>
</span>默认分隔符集。<span
lang=3DEN-US> <br>
tokens=3Dx,y,m-n - </span>指每行的哪一&=
#20010;符号被传递到每个$=
845;代<span
lang=3DEN-US> <br>
</span>的<span lang=3DEN-US> for </span>本身。Ű=
25;会导致额外变量名称=
的<span
lang=3DEN-US> <br>
</span>格式为一个范围。$=
890;过<span
lang=3DEN-US> nth </span>符号指定<span lang=3DEN-US=
> m <br>
</span>符号字符串中的最=
518;一个字符星号,<span
lang=3DEN-US> <br>
</span>那么额外的变量将=
312;最后一个符号解析之=
;<span
lang=3DEN-US> <br>
</span>分配并接受行的保=
041;文本。<span
lang=3DEN-US> <br>
usebackq - </span>指定新语法已在&=
#19979;类情况中使用<span
lang=3DEN-US>: <br>
</span>在作为命令执行一=
010;后引号的字符串并且=
;<span
lang=3DEN-US> <br>
</span>引号字符为文字字=
526;串命令并允许在<span
lang=3DEN-US> fi <br>
</span>中使用双引号扩起=
991;件名称。<span
lang=3DEN-US>sample1: <br>
FOR /F "eol=3D; tokens=3D2,3* delims=3D, " %i in (myfile.txt) do =
command</span>会分析<span
lang=3DEN-US> myfile.txt </span>中的每一行=
5292;忽略以分号打头的๶=
7;些行,将<span
lang=3DEN-US> <br>
</span>每行中的第二个和=
532;三个符号传递给<span
lang=3DEN-US> for </span>程序体;用逗&#=
21495;和<span
lang=3DEN-US>/</span>或<span lang=3DEN-US> <br>
</span>空格定界符号。请=
880;意,这个<span
lang=3DEN-US> for </span>程序体的语句&#=
24341;用<span
lang=3DEN-US> %i </span>来<span lang=3DEN-US> <br>
</span>取得第二个符号,=
341;用<span
lang=3DEN-US> %j </span>来取得第三个=
1526;号,引用<span
lang=3DEN-US> %k <br>
</span>来取得第三个符号=
518;的所有剩余符号。对=
;于带有空格的文件<span
lang=3DEN-US> <br>
</span>名,您需要用双引=
495;将文件名括起来。为=
;了用这种方式来使<span
lang=3DEN-US> <br>
</span>用双引号,您还需#=
201;使用<span
lang=3DEN-US> usebackq </span>选项,否则ʌ=
92;双引号会<span
lang=3DEN-US> <br>
</span>被理解成是用作定=
041;某个要分析的字符串=
;的。<span
lang=3DEN-US>%i </span>专门在<span lang=3DEN-US> for </sp=
an>语句中得到说明,<span
lang=3DEN-US>%j </span>和<span lang=3DEN-US> %k </span>是๩=
0;过<span
lang=3DEN-US> <br>
tokens=3D </span>选项专门得到说&#=
26126;的。您可以通过<span
lang=3DEN-US> tokens=3D </span>一行<span lang=3DEN-US> <br>
</span>指定最多<span lang=3DEN-US> 26 </span>ߑ=
0;符号,只要不试图说&=
#26126;一个高于字母<span
lang=3DEN-US> 'z' </span>或<span lang=3DEN-US> <br>
'Z' </span>的变量。请记住,=
<span
lang=3DEN-US>FOR </span>变量是单一字=
7597;、分大小写和全局௚=
0;;<span
lang=3DEN-US> <br>
</span>同时不能有<span lang=3DEN-US> 52 </spa=
n>个以上都在使用中。&=
#24744;还可以在相邻字符=
018;上使用<span
lang=3DEN-US> FOR /F </span>分析逻辑;方=
;法是,<span
lang=3DEN-US> <br>
</span>用单引号将括号之&=
388;的<span
lang=3DEN-US> filenameset </span>括起来。这&#=
26679;,该字符<span
lang=3DEN-US> <br>
</span>串会被当作一个文=
214;中的一个单一输入行=
;。最后,您可以用<span
lang=3DEN-US> FOR /F </span>命令来分析命=
;令的输出。方法是,&#=
23558;<span
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -