中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [已结]判断一个TXT文件是否为零字节文件
作者:
标题: [已结]判断一个TXT文件是否为零字节文件 上一主题 | 下一主题
walu
高级用户




积分 916
发帖 201
注册 2003-5-4
状态 离线
『楼 主』:  [已结]判断一个TXT文件是否为零字节文件

在纯DOS下有无办法或用什么软件可以让电脑判断一个TXT文件是否为零字节文件?(当然不是用肉眼看屏幕否则可以用DIR命令了)

[ Last edited by HAT on 2008-11-6 at 18:03 ]

2004-5-25 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
死性不改
中级用户




积分 378
发帖 88
注册 2004-5-5
状态 离线
『第 2 楼』:  

用一个零字节的文件与这个文件比较,例如

fc 1.txt 2.txt

if not erroelevel 1 echo 这个文件是一个零字节的文件。



www.51ct.net
2004-5-25 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
walu
高级用户




积分 916
发帖 201
注册 2003-5-4
状态 离线
『第 3 楼』:  



  Quote:
以下是引用死性不改在2004-5-25 上午 10:39:57的发言:
用一个零字节的文件与这个文件比较,例如

fc 1.txt 2.txt

if not erroelevel 1 echo 这个文件是一个零字节的文件。

这个方法好象不行呢,用一个非零字节文件(TXT类型)与一个零字节文件(TXT类型)相比较,及两个零字节相比较,返回码都是0,即 IF ERRORLEVEL 0

2004-5-25 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
roy
管理员

專業島民



积分 4869
发帖 1633
注册 2002-12-10
状态 离线
『第 4 楼』:  

copy zerobyte.txt $$$temp.$$$
if not exist $$$temp.$$$ echo zerobyte.txt is Zero-byte in size.



我的網站:http://mw16.2ya.com/ 我的網誌: http://scrappedblog.blogspot.com/
~
我的Winamp正在播放的歌曲:
2004-5-25 00:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
SagInvoker
初级用户




积分 257
发帖 38
注册 2004-5-20
状态 离线
『第 5 楼』:  

斑竹,说过多少遍了,高版本的DOS已经可以拷零字节的文件了
我的机器就可以拷零字节文件,不然我哪敢驳斑竹您的面子,不信,你换个高版本DOS的试试
不过我不信"死性不改"那个方法不行,我现试了一次,没什么问题
不过,不应该加NOT
直接是IF ERRORLEVEL 1 ECHO 这个文件是一个零字节的文件

2004-5-25 00:00
查看资料  发送邮件  发短消息 网志  OICQ (105695504)  编辑帖子  回复  引用回复
死性不改
中级用户




积分 378
发帖 88
注册 2004-5-5
状态 离线
『第 6 楼』:  

不对吧,应该有not才对吧。



www.51ct.net
2004-5-26 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
roy
管理员

專業島民



积分 4869
发帖 1633
注册 2002-12-10
状态 离线
『第 7 楼』:  



  Quote:
以下是引用SagInvoker在2004-5-25 上午 11:10:09的发言:
斑竹,说过多少遍了,高版本的DOS已经可以拷零字节的文件了
我的机器就可以拷零字节文件,不然我哪敢驳斑竹您的面子,不信,你换个高版本DOS的试试
不过我不信"死性不改"那个方法不行,我现试了一次,没什么问题
不过,不应该加NOT
直接是IF ERRORLEVEL 1 ECHO 这个文件是一个零字节的文件

他又沒說他是用高版本的dos,我就提供老方法了....
新方法:
dir zerobyte.txt|find /v "file(s)"|find /v "dir(s)"|find " 0 "
if errorlevel 1 echo zerobyte.txt is not zero-byte in size.



我的網站:http://mw16.2ya.com/ 我的網誌: http://scrappedblog.blogspot.com/
~
我的Winamp正在播放的歌曲:
2004-5-26 00:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
walu
高级用户




积分 916
发帖 201
注册 2003-5-4
状态 离线
『第 8 楼』:  

高版本的DOS已经可以拷零字节的文件?应该说是WIN ME及WIN XP之类的命令行下吧,总之在MS-DOS 7.10下面就不能拷零字节的文件。MS-DOS 7.10应该是真正的最高版本的DOS吧。


2004-5-27 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
willsort
元老会员

Batchinger


积分 4432
发帖 1512
注册 2002-10-18
状态 离线
『第 9 楼』:  零字节文件的判定

Re All:

  我已经说过,"零字节文件不拷贝"是属于一个未正式公开的细节,它没有作为一种特性列入微软的技术支持文档中,随时可以在某个命令行版本中被取消。所以,它是不可靠的,我们应该尽量避免利用这个细节。至于它的存在性,我同意walu兄的看法,它应该只在NT系列的DOS控制台中才被取消。

  至于替代的方法还有很多,Roy兄提到的第二个方法就是。不过可以将它简化一下:
  dir specfile | find " 0  ">nul
  if errorlevel 1 echo specfile is not zero-byte in size.

  至于FC的ERRORLEVEL问题,我也基本同意walu兄的看法,至少在DOS6.22及其以下版本以及Win9x中的FC是不设置ERRORLEVEL的。也许死性不改兄和SagInvoker兄系统中的FC支持,请告知系统版本。








[此贴子已经被作者于2004-6-2 下午 01:32:37编辑过]






※ Batchinger 致 Bat Fans:请访问 [讨论]批处理编程的异类 ,欢迎交流与共享批处理编程心得!
2004-6-2 00:00
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
roy
管理员

專業島民



积分 4869
发帖 1633
注册 2002-12-10
状态 离线
『第 10 楼』:  



  Quote:
以下是引用willsort在2004-6-2 上午 01:27:25的发言:
  我已经说过,"零字节文件不拷贝"是属于一个未正式公开的细节,它没有作为一种特性列入微软的技术支持文档中,随时可以在某个命令行版本中被取消。所以,它是不可靠的,我们应该尽量避免利用这个细节。至于它的存在性,我同意walu兄的看法,它应该只在NT系列的DOS控制台中才被取消。

先弄清楚...NT系列的DOS控制台(按:應該稱作『NT系列的指令殼層』比較妥當)是一回事,而Win9x/DOS是另一回事...
NT系列的指令殼層/OS/2(未確定) 甚至可以以"copy nul zerobyte.txt"創建0字節的文件
注:『零字节文件不拷贝』是核心的一個功能,而不是『命令行』說去掉就去掉的



我的網站:http://mw16.2ya.com/ 我的網誌: http://scrappedblog.blogspot.com/
~
我的Winamp正在播放的歌曲:
2004-6-2 00:00
查看资料  发短消息 网志   编辑帖子  回复  引用回复
wwmmc
初级用户





积分 35
发帖 62
注册 2008-10-12
状态 离线
『第 11 楼』:  

问下,返回的 错误 代码 1  是怎么来的 ?

2008-11-6 15:03
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: