关于DEL的一个疑问

doer_ljy 2006-10-20 05:49:23
诸位高人,小弟由一个问题请教。

在win2000 Server上的批处理中,
如果del所要删除的文件不存在,则后面的errorlevel的值是1。
可以通过判断这个值确定删除文件是否成功。
但是在Win2003 Server上,情况竟然有了变化。
即使要删除的文件不存在,erroelevel仍然是0。
那位达人给解释一下这个究竟是怎么回事儿?
例如
test.bat文件内容如下:
=============================
@echo off
del c:\ddddddddd.dat
echo 返却値:%errorlevel%
echo on
=============================

在2000上执行test.bat结果如下:
-------------------------
c:\ddddddddd.dat が見つかりませんでした。
返却値:1
-------------------------


在2003上执行test.bat结果如下:
-------------------------
c:\ddddddddd.dat が見つかりませんでした。
返却値:0
-------------------------
...全文
319 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
doer_ljy 2006-11-08
  • 打赏
  • 举报
回复
自己在up一下
doer_ljy 2006-10-23
  • 打赏
  • 举报
回复
变通的方法了解了,只是由于属于旧系统移植的工程。
所以遇到环境上不一致的时候,需要把原有系统与这个相关的部分都找出来一并解决。
所以想知道官方一点的情况以便向客户解释,而不能绕开这个问题。
xyxfly 2006-10-21
  • 打赏
  • 举报
回复
没试过这种情况,其实可以换个变通的方法


比如if exists .....
del...
空心兜兜 2006-10-21
  • 打赏
  • 举报
回复
啊哦……
ysqu 2006-10-20
  • 打赏
  • 举报
回复
很少用 ERRORLEVER
我在XP下运行你的批处理和2003下一样的结果。

6,850

社区成员

发帖
与我相关
我的任务
社区描述
Windows 2016/2012/2008/2003/2000/NT
社区管理员
  • Windows Server社区
  • qishine
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧