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


如:
goto end
:end
echo this is the end
标号用“:字符串”来定义 , 标号所在行不被执行 。
choice
使用此命令可以让用户输入一个字符(用于选择) , 从而根据用户的选择返回不同的errorlevel , 然后于if errorlevel配合 , 根据用户的选择运行不同的命令 。
注意:choice命令为DOS或者Windows系统提供的外部命令 , 不同版本的choice命令语法会稍有不同 , 请用choice /?查看用法 。
choice的命令语法(该语法为Windows 2003中choice命令的语法 , 其它版本的choice的命令语法与此大同小异):
CHOICE [/C choices] [/N] [/CS] [/T timeout /D choice] [/M text]
描述:
该工具允许用户从选择列表选择一个项目并返回所选项目的索引 。
参数列表:
/C choices 指定要创建的选项列表 。默认列表是 ”YN“ 。
/N 在提示符中隐藏选项列表 。提示前面的消息得到显示 , 选项依旧处于启用状态 。
/CS 允许选择分大小写的选项 。在默认情况下 , 这个工具是不分大小写的 。
/T timeout 做出默认选择之前 , 暂停的秒数 。可接受的值是从0到9999 。如果指定了 0 , 就不会有暂停 , 默认选项会得到选择 。
/D choice 在 nnnn 秒之后指定默认选项 。字符必须在用 /C 选项指定的一组选择中; 同时 , 必须用 /T 指定 nnnn 。
/M text 指定提示之前要显示的消息 。如果没有指定 , 工具只显示提示 。
/? 显示帮助消息 。
注意:
ERRORLEVEL 环境变量被设置为从选择集选择的键索引 。列出的第一个选择返回 1 , 第二个选择返回 2 , 等等 。如果用户按的键不是有效的选择 , 该工具会发出警告响声 。如果该工具检测到错误状态 , 它会返回 255 的ERRORLEVEL 值 。如果用户按 Ctrl Break 或 Ctrl C 键 , 该工具会返回 0的 ERRORLEVEL 值 。在一个批程序中使用 ERRORLEVEL 参数时 , 将参数降序排列 。
示例:
CHOICE /?
CHOICE /C YNC /M ”确认请按 Y , 否请按 N , 或者取消请按 C 。“
CHOICE /T 10 /C ync /CS /D y
CHOICE /C ab /M ”选项 1 请选择 a , 选项 2 请选择 b 。“
CHOICE /C ab /N /M ”选项 1 请选择 a , 选项 2 请选择 b 。“
如果我运行命令:CHOICE /C YNC /M ”确认请按 Y , 否请按 N , 或者取消请按 C 。“
屏幕上会显示:
确认请按 Y , 否请按 N , 或者取消请按 C 。[Y , N , C]?
例:test.bat的内容如下(注意 , 用if errorlevel判断返回值时 , 要按返回值从高到低排列):
@echo off
choice /C dme /M ”defrag , mem , end“
if errorlevel 3 goto end
if errorlevel 2 goto mem
if errotlevel 1 goto defrag
: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 , 批处理运行结束 。
for 循环命令 , 只要条件符合 , 它将多次执行同一命令 。
语法:
对一组文件中的每一个文件执行某个特定命令 。
FOR %%variable IN (set) DO command [command-parameters]
%%variable 指定一个单一字母可替换的参数 。
(set) 指定一个或一组文件 。可以使用通配符 。
command 指定对每个文件执行的命令 。
command-parameters
为特定命令指定参数或命令行开关 。

推荐阅读