【发布时间】:2010-07-21 20:33:09
【问题描述】:
我有一个批处理文件,它可以做几件事。如果其中一个失败,我想退出整个程序。例如:
@echo off
type foo.txt 2>> error.txt >> success.txt
mkdir bob
如果找不到文件 foo.txt,那么我希望将 stderr 消息附加到 error.txt 文件,否则将 foo.txt 的内容附加到 success.txt。基本上,如果 type 命令返回一个标准错误,那么我希望批处理文件退出而不是创建一个新目录。如何判断是否发生错误并决定是否需要继续执行下一个命令?
【问题讨论】:
-
我在 mkdir bob 命令之前添加了代码 IF NOT ERRORLEVEL 0 EXIT /B echo %errorlevel%,但无论 ERRORLEVEL 的值(即 0 或 1)如何,目录仍会被创建。所以基本上,无论 type 命令是否找到文件,ERRORLEVEL 都被设置为不同的值,但程序没有退出。想法?