打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
dos命令大全

在批处理程序中执行条件处理。
“dos命令大全”www.daohei.com“黑客网站大全”
语法
if [not] errorlevel number command [else expression]

if [not] string1==string2 command [else expression]

if [not] exist filename command [else expression]

如果启用了命令扩展,请使用以下语法:

if [/i] string1 compareop string2 command [else expression]

if cmdextversion number command [else expression]

if defined variable command [else expression]
“dos命令大全”www.daohei.com“黑客网站大全”
参数
not
指定只有当条件为假时才执行该命令。
errorlevel number
只有当由 Cmd.exe 运行的前一个程序返回大于或等于 number 的退出代码时,才能指定真条件。
command
指定只有满足前面的条件时才应执行的命令。
string1==string2
只有当 string1 和 string2 相同时才能指定真条件。这些值可以是文字字符串或批处理变量(例如,%1)。对于文字字符串,不需要使用问号。
exist filename
如果 filename 存在,则指定真条件。
CompareOp
指定 3 个字母的比较运算符。下表列出了 compareop 的有效值。 运算符 说明
EQU 等于
NEQ 不等于
LSS 少于
LEQ 少于或等于
GTR 大于
GEQ 大于或等于
“dos命令大全”www.daohei.com“黑客网站大全”
/i
强制字符串比较忽略大小写。可以在 if 的 string1==string2 形式上使用/i。这些比较是通用的,如果 string1 和 string2 都由所有的数字组成,那么字符串将被转换为数字并且将执行数字比较。
cmdextversion number
只有当与 Cmd.exe 的“命令扩展”功能相关的内部版本号等于或大于 number 时,才指定真条件。第一个版本是 1。当命令扩展的功能有重大增强时,则在此号码上加 1。当禁用了命令扩展时(默认情况下为启用),cmdextversion 条件不为真。
defined variable
如果定义了 variable,则指定条件为真。
expression
指定将传递给 else 子句中命令的命令行命令和任何参数。
/?
在命令提示符显示帮助。
注释
如果 if 命令中指定的条件为真,则系统将执行该条件后的命令。如果条件为假,则 if 子句中的命令将被忽略,同时执行 else 子句中的任何命令(如果指定)。
程序停止时,将返回退出码。可以利用 errorlevel 参数将退出码用作条件。
使用 defined variable
如果使用 defined variable,可以添加下面三个变量:%errorlevel%、 %cmdcmdline% 和 %cmdextversion%。

%errorlevel% 扩展到 errorlevel 当前值的字符串表达式,如果没有名为 ERRORLEVEL 的环境变量,就可取代它的值。下面的范例说明了如何在运行批处理程序后使用 errorlevel:

goto answer%errorlevel%
:answer0
echo Program had return code 0
:answer1
echo Program had return code 1
goto end
:end
echo done!

也可以使用如下的 CompareOp 比较运算符:

if %errorlevel% LEQ 1 goto okay
%cmdcmdline% 在任何 Cmd.exe 处理之前扩展传递到 Cmd.exe 的源命令行,如果没有名为 cmdcmdline 的环境变量,就可取代它的值。

%cmdextversion% 扩展到 cmdextversion 当前值的字符串表达式,如果没有名为 CMDEXTVERSION 的环境变量,就可取代它的值。

使用 else 子句
else 子句必须出现在与 if 后的命令相同的行中。例如:

    IF EXIST filename. (
del filename.
) ELSE (
echo filename.missing.
)
下面的代码不起作用,因为必须通过重起一行中止 del 命令:

    IF EXIST filename. del filename.ELSE echo filename.missing
以下命令不起作用,因为 else 命令必须在与 if 命令的末尾相同的行上:

    IF EXIST filename. del filename.
ELSE echo filename.missing
如果要完全在单行上格式化它,可以使用如下形式的原始声明:

    IF EXIST filename.(del filename)ELSE echo filename.missing
范例
如果没有找到文件 Product.dat,将会显示如下消息:

if not exist product.dat echo Can't find data file

如果格式化驱动器 A 中的磁盘期间出现错误,则下面范例将会显示错误消息:

:begin
@echo off
format a:/s
if not errorlevel 1 goto end
echo An error occurred during formatting.
:end
echo End of batch program.

如果没有出现错误,将跳过错误消息。

if 命令不能用于直接测试目录,但空 (NUL) 设备确实存在于每个目录中。因此,可以通过测试零设备确定目录是否存在。以下范例可测试目录的存在:

if exist c:mydir\\nul goto process

格式化图例
格式 含义
斜体 用户必须提供的信息
粗体 用户必须像显示的一样准确键入的元素
省略号 (...) 可在命令行中重复多次的参数
在括号 ([]) 之间 可选项目
在大括号 ({}) 之间;将选项用竖线 (|) 隔开。例如:{even|odd} 用户必须从中只选择一个选项的选项组
Courier 字体 代码或程序输出

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
windows bat(批处理):IF详解
DOS批处理高级教程:第一章 批处理基础
dos技巧100例!!
DOS批处理高级教程精选(七) - 第二天堂
第九课:if命令的详细介绍
一份比较详细的DOS命令
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服