bat命令怎么写( 二 )


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:\dos\defrag 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 noparmsif {%2}=={} goto noparms2、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 。
3.怎样写批处理命令pause命令使用pause命令 , 效果是输出"请按任意键继续. . ."或者"Press any key to continue 。
"然后等待敲入一个键 无声命令编写bat或者cmd时 , 在命令的前面加上"@"符号 , 命令行就不会回显在屏幕上 , 使用echo off也可以达到同样的效果 , 一般习惯上编写bat或者cmd时 , 第一行都是@echo off , 这样悄无声息的关掉了接下来所有命令行的回显 。最后一行echo on还原 。
echo可以查看现在的回显状态是开还是关 。cmd文件和bat文件两者并没有什么不同 , cmd并没有比bat强大一些 。
if命令一般的if命令用法: if [not] exist 文件名 (command) [else command] if [not] [/I] string compare string (command) [else command] ("/i"也行 , 表示忽略大小写 , 如果一边都是数字 , 那么另一边的字符也会被转换成数字) if [not] errorlevel 数字 (command) [else command] (用于判断程序退出时的返回值) if [not] defined 环境变量 (command) [else command] if和else必须在一行之上 , 比较运算符有 大于 gtr 大于等于 geq 等于 equ或者== 小于等于 leq 小于 lss else和if必须在一行之上 , 如果有else部分的话 , else前面的command部分必须用()括起来 。一行多个命令一行多个命令之间用&符号相连 , 比如"dir etc & dir lib" call 和 start call用来调用执行另一个bat或者cmd文件 , start用来调用执行其他格式的可执行文件(exe,com,vbs 。)