Board logo

标题: [文本处理] 批处理如何判断指定文件是否存在? [打印本页]

作者: derek    时间: 2009-8-8 21:45     标题: 批处理如何判断指定文件是否存在?

各位,以下程序的目的是:检查1.txt,2.txt,3.txt,4.txt 这四个文件是否都存在,如果都存在,再判断各文件的大小,假如有一个是0字节的,就返回1.如果文件不齐全的,也返回1.

问题:经测试,当文件有缺少时,程序不会退出并返回1.会一直运行并正常结束,请大家看看以下代码问题出现在哪,谢谢!

for %i in (c:\temp\1.txt,c:\temp\2.txt,c:\temp\3.txt,c:\temp\4.txt) do (if exist %i (if %~zi==0 exit 1) else (exit 1))
作者: batman    时间: 2009-8-8 21:59

是否一定要在cmd下运行,bat不行吗?返回1的这个1是值还是标签?
作者: derek    时间: 2009-8-8 22:24     标题: 回复 2楼 的帖子

是的..在CMD下运行,返回1是一个值,因为接下来有程序是要捕捉这个1,是1才会运行接下来的程序....请问上面的语法有问题吗???
作者: batman    时间: 2009-8-8 22:47

我测试了没有问题,不知楼主。。。

[ 本帖最后由 batman 于 2009-8-8 22:58 编辑 ]
作者: derek    时间: 2009-8-8 23:00     标题: 回复 4楼 的帖子

期待大家的答复....经测试.判断文件的大小是可以的,只要其中有文件为0字节,程序都会返回1,就是判断文件个数有问题..
作者: defanive    时间: 2009-8-8 23:42

四个文件大小乘积为0即返回1。。。
作者: derek    时间: 2009-8-9 00:14     标题: 回复 6楼 的帖子

四个文件大小乘积为0,是什么意思啊?
作者: Lumiere    时间: 2009-8-9 00:36     标题: 回复 7楼 的帖子

就是说无论哪个是0都会返回,比你一个一个判断简单高效多了,这都不明白,汗一个……




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2