【发布时间】:2012-04-13 13:33:23
【问题描述】:
我在 Windows 2003 服务器上使用调度系统,该系统需要批处理文件来运行不同的作业。我有一项工作是检查文件是否存在,比较文件是否为空,然后根据结果执行某些操作。每次我运行它,返回的错误级别都是 0,但是文件不同。我希望看到返回 1。
我已经验证了文件的位置,一个文件有内容,另一个是空的。我已经设置了提示,他们都说 %ERRORLEVEL% 是 0。我什至将文件移动到批处理作业的同一目录中,但它们仍然显示 0。
代码:
echo %ERRORLEVEL%
IF EXIST data.DON (
echo before %ERRORLEVEL%
FC data.DON ZERO.SEQ
echo after %ERRORLEVEL%
IF %ERRORLEVEL% EQU 1 GOTO :PROCESS
)
输出:
16:37:08.12 Thu 03/29/2012
>IF EXIST data.DON (
echo before 0
FC data.DON ZERO.SEQ
echo after 0
IF 0 EQU 1 GOTO :PROCESS
)
before 0
Comparing files data.DON and ZERO.SEQ
***** data.DON
Name|Date|Location
***** ZERO.SEQ
*****
after 0
我在同一台服务器上的其他作业中有这个确切的代码,指向不同的数据文件,它可以工作。有什么我可以尝试的想法吗?
【问题讨论】:
标签: batch-file file-comparison