BAT文件语法和技巧(bat文件的编写及使用)

2019-09-19 07:10:44王冬梅

 
 /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     指定对每个文件执行的命令。 

相关文章 大家在看