windows常用网络命令大全 分享Windows常用的批处理命令大全( 二 )


8、choice 命令
choice 使用此命令可以让用户输入一个字符 , 从而运行不同的命令 。使用时应该加/c:参数 , c:后应写提示可输入的字符 , 之间无空格 。它的返回码为1234……
如: choice /c:dme defrag , mem , end
将显示
defrag , mem , end[D , M , E]?
Sample:
Sample.bat的内容如下:
@echo off
choice /c:dme defrag , mem , end
if errorlevel 3 goto defrag (应先判断数值最高的错误码)
if errorlevel 2 goto mem
if errotlevel 1 goto end
:defrag
c:dosdefrag
goto end
:mem
mem
goto end
:end
echo good bye
此文件运行后 , 将显示 defrag , mem , end[D , M , E]? 用户可选择d m e , 然后if语句将作出判断 , d表示执行标号为defrag的程序段 , m表示执行标号为mem的程序段 , e表示执行标号为end的程序段 , 每个程序段最后都 以goto end将程序跳到end标号处 , 然后程序将显示good bye , 文件结束 。
9、If 命令
if 表示将判断是否符合规定的条件 , 从而决定执行不同的命令 。有三种格式:
(1)if “参数” == “字符串”待执行的命令
参数如果等于指定的字符串 , 则条件成立 , 运行命令 , 否则运行下一句 。(注意是两个等号)
如if “%1”==“a” format a:
if {%1}=={} goto noparms
if {%2}=={} goto noparms
(2)if exist 文件名待执行的命令
如果有指定的文件 , 则条件成立 , 运行命令 , 否则运行下一句 。
如if exist config.sys edit config.sys
(3)if errorlevel / if not errorlevel 数字 , 待执行的命令 。
如果返回码等于指定的数字 , 则条件成立 , 运行命令 , 否则运行下一句 。
如if errorlevel 2 goto x2
DOS程序运行时都会返回一个数字给DOS , 称为错误码errorlevel或称返回码 , 常见的返回码为0、1 。
10、for 命令
for 命令是一个比较复杂的命令 , 主要用于参数在指定的范围内循环执行命令 。
在批处理文件中使用 FOR 命令时 , 指定变量请使用 %%variable
for {%variable|%%variable} in (set) do command [ CommandLineOptions]
%variable 指定一个单一字母可替换的参数 。
(set) 指定一个或一组文件 。可以使用通配符 。
command 指定对每个文件执行的命令 。
command-parameters 为特定命令指定参数或命令行开关 。
在批处理文件中使用 FOR 命令时 , 指定变量请使用 %%variable而不要用 %variable 。变量名称是区分大小写的 , 所以 %i 不同于 %I
如果命令扩展名被启用 , 下列额外的 FOR 命令格式会受到支持:
FOR /D %variable IN (set) DO command [command-parameters]
如果集中包含通配符 , 则指定与目录名匹配 , 而不与文件名匹配 。
FOR /R [drive:]path] %variable IN (set) DO command [command-
检查以 [drive:]path 为根的目录树 , 指向每个目录中的FOR 语句 。如果在 /R 后没有指定目录 , 则使用当前目录 。如果集仅为一个单点( 。)字符 , 则枚举该目录树 。
FOR /L %variable IN (start , step , end) DO command [command-para
该集表示以增量形式从开始到结束的一个数字序列 。
因此 , (1 , 1 , 5) 将产生序列 1 2 3 4 5 , (5 , -1 , 1) 将产生
序列 (5 4 3 2 1) 。
FOR /F [“options”] %variable IN (file-set) DO command
FOR /F [“options”] %variable IN (“string”) DO command
FOR /F [“options”] %variable IN (‘’command‘’) DO command
或者 , 如果有 usebackq 选项:
FOR /F [“options”] %variable IN (file-set) DO command

推荐阅读