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
FOR /F ["options"] %variable IN ("string") DO command
FOR /F ["options"] %variable IN (command) DO command
filenameset 为一个或多个文件名 。继续到 filenameset 中的
下一个文件之前,每份文件都已被打开、读取并经过处理 。
处理包括读取文件,将其分成一行行的文字,然后将每行
解析成零或更多的符号 。然后用已找到的符号字符串变量值
调用 For 循环 。以默认方式,/F 通过每个文件的每一行中分开
的第一个空白符号 。跳过空白行 。您可通过指定可选 "options"
推荐阅读
- CD+GOLDWAVE手机铃声歌曲基础教程
- 网络基础入门:如何设置VPN客户端
- 把DOS/Ghost/分区集成至启动菜单
- IIS最小权限分配的批处理文件代码
- 进入DOS环境的几种方法
- Win 7命令提示符环境DOS命令失效怎么办
- ios14.6/iPadOS14.6rc准正式版更新什么内容 新功能一览
- ipados15支持机型兼容哪些设备 ipados15支持平板型号
- MaxDOS 8.0 发布 全面支持Windows 7及X64系统
- Trados2015安装破解教程
