打印本页〗〖打印选项
DOS 批处理命令(Batch commands)使用说明 If 命令
  批处理程序中的条件判断语句。若IF命令指定的条件为真,则MS-DOS执行条件下面的命令;否则,MS-DOS忽略此命令。此命令只能在批处理程序中使用。

  语法:
  IF [NOT] ERRORLEVEL number command 
  IF [NOT] string1==string2 command 
  IF [NOT] EXIST filename command 
 
  参数:
  NOT 指出若条件为假时,MS-DOS应该执行后面的命令。

  ERRORLEVEL number 当上一个应用程序返回的退出码大于等于number这个数时条件为真。

  command 指定条件为真时,MS-DOS将执行的命令。

  string1==string2 仅当string1和 string2相同时条件为真。这两个值可以是字符串或批处理变量(例如%1)。字符串不需用引号括起来。

  EXIST filename 当filename这个文件存在时条件为真。


  IF 例子

  下面这个例子用来测试目录是否存在。IF命令不能直接用来测试目录,但空(NUL)设备存在于硬盘的每一个目录下。因此,可以通过空设备来测试硬盘目录是否存在。

  if exist c:\mydir\nul goto process,在下面这个例子中,当MS-DOS未找到PRODUCT.DAT时显示信息"Can’t find data file": 

  if not exist product.dat echo Can’t find data file ,每个程序中止时都会返回一个退出码。例如,值为0通常用于表示程序正常执行完毕。ERRORLEVEL参数用于测试退出码的值。

  在下面这个例子中,当格式化驱动器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.
 
  使用ERRORLEVEL参数的另一个例子,见<CHOICE>命令。



文章作者:未知