欢迎登陆真网站,您的到来是我们的荣幸。 登陆 注册 忘记密码? ☆设为首页 △加入收藏
欢迎加入真幸福QQ群
电脑知识: 基础知识 网络技术 操作系统 办公软件 电脑维修 电脑安全 windows7 windows8 windows10 服务器教程 平板电脑 视频播放教程 网络应用 互联网 工具软件 浏览器教程 QQ技巧 输入法教程 影视制作 YY教程 wps教程 word教程 Excel教程 PowerPoint
云南西双版纳特产小花糯玉米真空包装


svg文件如何打开?
在DOS中任意切换目录
svg是什么文件?
IBM笔记本不出声 驱动精灵一招搞定
无线路由器设置PPPOE拨号 图解教程
windows XP家庭版是没有组策略的
无线路由器变成AP的方法
Windows系统操作密集60招
无线路由器升级失败的解决办法
怎么把图片文件转换成pdf
windows bat(批处理):IF详解
【 来源:网络 】【 点击:1 】 【 发布时间:2017_03_03 08:59:59 】

   windows bat(批处理)--IF详解

  摘要:本文介绍了windows bat中IF语句的语法,包括3中基本形势和扩展IF语句

  1. IF & IF not

  if 和 if not 有都有3中形势:

  IF [NOT] ERRORLEVEL number do command

  IF [NOT] string1==string2 do command

  IF [NOT] EXIST filename do command

  NOT

  指定只有条件为 false 的情况下,Windows 才应该执行该命令。

  ERRORLEVEL number 如果最后运行的程序返回一个等于或大于指定数字的退出代码,指定条件为 true.

  string1==string2 如果指定的文字字符串匹配,指定条件为 true.

  EXIST filename 如果指定的文件名存在,指定条件为 true.

  command 如果符合条件,指定要执行的命令。如果指定的条件为 FALSE,命令后可跟 ELSE 命令,该命令将在 ELSE 关键字之后执行该命令。

  1.1 IF [NOT] string1==string2 do command

  注意是 string, 同时要保持string1 和string2 的格式相同

  如:

  [python]

  if "%1"=="a" format a:

  if {%1}=={} goto noparms

  if {%2}=={} goto noparms

  1.2 IF [NOT] EXIST filename do command

  如果有指定的文件,则条件成立,运行命令,否则运行下一句。

  如

  [python]

  1.

  if exist config.sys edit config.sys

  2.

  if exist %1.obj link %1.obj

  else pause & edit %1.asm

  3.

  IF EXIST filename. (

  del filename.

  ) ELSE (

  echo filename. missing.

  )

  ELSE 子句必须出现在同一行上的 IF 之后

  由于 del 命令需要用新的一行终止,因此以下子句不会有效:

  [python]

  IF EXIST filename. del filename. ELSE echo filename. missing

  由于 ELSE 命令必须与 IF 命令的尾端在同一行上,以下子句也

  不会有效:

  [python]

  IF EXIST filename. del filename.

  ELSE echo filename. missing

  如果都放在同一行上,以下子句有效:

  [python]

  IF EXIST filename. (del filename.) ELSE echo filename. missing

  1.3 IF [NOT] ERRORLEVEL number do command

  如果返回码等于指定的数字,则条件成立,运行命令,否则运行下一句。

  如if errorlevel 2 goto x2

  DOS程序运行时都会返回一个数字给DOS,称为错误码errorlevel或称返回码,常见的返回码为0、1.

  2. IF扩展

  如果命令扩展被启用,IF 会如下改变:

  IF [/I] string1 compare-op string2 command

  IF CMDEXTVERSION number command

  IF DEFINED variable command

  (1) IF [/I] string1 compare-op string2 command

  compare-op 可以是:

  EQU - 等于

  NEQ - 不等于

  LSS - 小于

  LEQ - 小于或等于

  GTR - 大于

  GEQ - 大于或等于

  /I 开关(如果指定)说明要进行的字符串比较不分大小写。

  /I 开关可以用于 IF 的 string1==string2 的形式上。这些比较都是通用的;原因是,如果 string1 和 string2 都是由数字组成的,字符串会被转换成数字,进行数字比较。

  (2)IF CMDEXTVERSION number command

  CMDEXTVERSION 条件的作用跟 ERRORLEVEL 的一样,除了它是在跟与命令扩展有关联的内部版本号比较。第一个版本是 1.每次对命令扩展有相当大的增强时,版本号会增加一个。命令扩展被停用时,CMDEXTVERSION 条件不是真的。

  如果已定义环境变量,DEFINED 条件的作用跟 EXIST 的一样,除了它取得一个环境变量,返回的结果是 true.

  如果没有名为 ERRORLEVEL 的环境变量,%ERRORLEVEL%

  会扩充为 ERROLEVEL 当前数值的字符串表达式;否则,您会得到其数值。运行程序后,以下语句说明 ERRORLEVEL 的用法:

  goto answer%ERRORLEVEL%

  :answer0

  echo Program had return code 0

  :answer1

  echo Program had return code 1

  您也可以使用以上的数字比较:

  IF %ERRORLEVEL% LEQ 1 goto okay

  如果没有名为 CMDCMDLINE 的环境变量,%CMDCMDLINE%将在 CMD.EXE 进行任何处理前扩充为传递给 CMD.EXE 的原始命令行;否则,您会得到其数值。

  如果没有名为 CMDEXTVERSION 的环境变量,%CMDEXTVERSION% 会扩充为 CMDEXTVERSION 当前数值的字串符表达式;否则,您会得到其数值。

本网站由川南居提供技术支持,fkzxf版权所有 浙ICP备12031891号
淳安分站 淳安分站