找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
楼主: youxi01

[原创] 批处理if 命令示例详解(2007-11-4日更新)

[复制链接]
发表于 2008-11-2 13:38:33 | 显示全部楼层
@ECHO OFF
XCOPY F:\test.bat e:\
IF ERRORLEVEL 0 (ECHO 成功拷贝文件)
IF ERRORLEVEL 1 (ECHO 文件拷贝失败)
pause>nul
运行结果:
找不到文件-test.bat
复制了0个文件
文件拷贝失败
成功拷贝文件


这是为什么啊
发表于 2008-11-2 13:40:26 | 显示全部楼层
@ECHO OFF
XCOPY F:\test.bat e:\
IF ERRORLEVEL 1 (ECHO 文件拷贝失败)
IF ERRORLEVEL 0 (ECHO 成功拷贝文件)
pause>nul
运行结果:
找不到文件-test.bat
复制了0个文件
文件拷贝失败
成功拷贝文件
为什么两个都执行了
发表于 2008-11-12 20:40:11 | 显示全部楼层
@ECHO OFF
XCOPY F:\test.bat D:\
IF ERRORLEVEL 1 ECHO 文件拷贝失败
IF ERRORLEVEL 0 ECHO 成功拷贝文件
我也是运行结果两个都显示了。而且还显示找不到指定的文件我自己把这个代码改了一个可以成功运行。不知道我这样是不是太复杂了。。请高手指教。为什么我运行上面这个代码会出错呢?
我自己改过的代码。
  1. @echo off
  2. XCOPY F:\test.bat D:\ >nul 2>nul
  3. if "%errorlevel%"=="1" (echo 文件拷贝失败)
  4. if "%errorlevel%"=="0" (echo 文件拷贝成功)
复制代码
发表于 2008-11-18 21:21:24 | 显示全部楼层
学习啦。感觉命令 IF ERRORLEVEL  有难度,在琢磨下!
发表于 2009-1-7 16:36:19 | 显示全部楼层
以前不知GTR为何意,现在明白了
发表于 2009-1-11 10:54:57 | 显示全部楼层
多谢LZ总结
VERY 详细
发表于 2009-1-11 13:40:42 | 显示全部楼层
不是很全面,有很多if的知识点都没有讲到的。
发表于 2009-1-21 00:49:43 | 显示全部楼层
看到有些回贴的代码就有些不懂了,上面的看懂了,就是不知道是否可以改变默认的没.
发表于 2009-1-21 13:55:47 | 显示全部楼层

回复 1楼 的帖子

“IF ERRORLEVEL 是用来测试它的上一个DOS命令的返回值的,注意只是上一个命令的返回值,而且返回值必须依照从大到小次序顺序判断。
因此下面的批处理文件是错误的:
@ECHO OFF
XCOPY C:\AUTOEXEC.BAT D:\
IF ERRORLEVEL 0 ECHO 成功拷贝文件
IF ERRORLEVEL 1 ECHO 未找到拷贝文件
IF ERRORLEVEL 2 ECHO 用户通过ctrl-c中止拷贝操作
IF ERRORLEVEL 3 ECHO 预置错误阻止文件拷贝操作
IF ERRORLEVEL 4 ECHO 拷贝过程中写盘错误
无论拷贝是否成功,后面的:
未找到拷贝文件
用户通过ctrl-c中止拷贝操作
预置错误阻止文件拷贝操作
拷贝过程中写盘错误
都将显示出来。”

这是错误的 那楼主能不能给个正确的呢 我是新手 对这点返回判断的现在老是搞不懂 郁闷~~~
发表于 2009-2-3 07:34:26 | 显示全部楼层
判断存在文件怎么没有讲啊
发表于 2009-2-3 12:05:09 | 显示全部楼层

回复 42楼 的帖子

  1. if %errorlevel% equ 0 (
  2.   ...
  3. ) else if %errorlevel% equ 1 (
  4.   ...
  5. ) else if %errorlevel% equ 2 (
  6.   ...
  7. ) else if %errorlevel% equ 3 (
  8.   ...
  9. ) else ...
复制代码
发表于 2009-2-3 12:06:28 | 显示全部楼层

回复 43楼 的帖子

发表于 2009-2-4 03:54:42 | 显示全部楼层
版主说的很细,对于我这个新手来说真是收益不少呀。谢谢版主
发表于 2009-3-24 14:07:44 | 显示全部楼层
适合初学者的教程!!!
发表于 2009-3-27 17:43:39 | 显示全部楼层
有个问题。
如果用if做一个循环打开?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-17 07:27 , Processed in 0.022342 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表