![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-10 07:55 |
共 47,811 主题排行 / 349,897 发帖 / 今日 2 篇 / 48,255 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [已结]判断一个TXT文件是否为零字节文件 |
| 可打印版本 1,546 / 10 |
| 第1楼 walu | 发表于 2004-05-25 00:00 |
| 高级用户 发帖 201 积分 916 | |
|
[已结]判断一个TXT文件是否为零字节文件 在纯DOS下有无办法或用什么软件可以让电脑判断一个TXT文件是否为零字节文件?(当然不是用肉眼看屏幕否则可以用DIR命令了)
[ Last edited by HAT on 2008-11-6 at 18:03 ] |
|
| 第2楼 死性不改 | 发表于 2004-05-25 00:00 |
| 中级用户 发帖 88 积分 378 | |
|
用一个零字节的文件与这个文件比较,例如
fc 1.txt 2.txt if not erroelevel 1 echo 这个文件是一个零字节的文件。 |
|
| 第3楼 walu | 发表于 2004-05-25 00:00 |
| 高级用户 发帖 201 积分 916 | |
以下是引用死性不改在2004-5-25 上午 10:39:57的发言: 这个方法好象不行呢,用一个非零字节文件(TXT类型)与一个零字节文件(TXT类型)相比较,及两个零字节相比较,返回码都是0,即 IF ERRORLEVEL 0 |
|
| 第4楼 Roy | 发表于 2004-05-25 00:00 |
| 管理员 发帖 1,633 积分 4,869 | |
|
copy zerobyte.txt $$$temp.$$$
if not exist $$$temp.$$$ echo zerobyte.txt is Zero-byte in size. |
|
| 第5楼 SagInvoker | 发表于 2004-05-25 00:00 |
| 初级用户 发帖 38 积分 257 | |
|
斑竹,说过多少遍了,高版本的DOS已经可以拷零字节的文件了
我的机器就可以拷零字节文件,不然我哪敢驳斑竹您的面子,不信,你换个高版本DOS的试试 不过我不信"死性不改"那个方法不行,我现试了一次,没什么问题 不过,不应该加NOT 直接是IF ERRORLEVEL 1 ECHO 这个文件是一个零字节的文件 |
|
| 第6楼 死性不改 | 发表于 2004-05-26 00:00 |
| 中级用户 发帖 88 积分 378 | |
|
不对吧,应该有not才对吧。
|
|
| 第7楼 Roy | 发表于 2004-05-26 00:00 |
| 管理员 发帖 1,633 积分 4,869 | |
以下是引用SagInvoker在2004-5-25 上午 11:10:09的发言:他又沒說他是用高版本的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. |
|
| 第8楼 walu | 发表于 2004-05-27 00:00 |
| 高级用户 发帖 201 积分 916 | |
|
高版本的DOS已经可以拷零字节的文件?应该说是WIN ME及WIN XP之类的命令行下吧,总之在MS-DOS 7.10下面就不能拷零字节的文件。MS-DOS 7.10应该是真正的最高版本的DOS吧。
|
|
| 第9楼 willsort | 发表于 2004-06-02 00:00 |
| 元老会员 发帖 1,512 积分 4,432 | |
|
零字节文件的判定 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支持,请告知系统版本。 |
|
| 第10楼 Roy | 发表于 2004-06-02 00:00 |
| 管理员 发帖 1,633 积分 4,869 | |
以下是引用willsort在2004-6-2 上午 01:27:25的发言:先弄清楚...NT系列的DOS控制台(按:應該稱作『NT系列的指令殼層』比較妥當)是一回事,而Win9x/DOS是另一回事... NT系列的指令殼層/OS/2(未確定) 甚至可以以"copy nul zerobyte.txt"創建0字節的文件 注:『零字节文件不拷贝』是核心的一個功能,而不是『命令行』說去掉就去掉的 |
|
| 第11楼 wwmmc | 发表于 2008-11-06 15:03 |
| 初级用户 发帖 62 积分 35 | |
|
问下,返回的 错误 代码 1 是怎么来的 ?
|
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |