![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-15 19:45 |
共 47,813 主题排行 / 349,903 发帖 / 今日 1 篇 / 48,258 会员排行 |
| DOS疑难解答 & 问题讨论 (解答室) » [已解决]4DOS下使用IF判断文件的大小 |
| 可打印版本 1,203 / 4 |
| 第1楼 Yaoxl | 发表于 2009-02-08 07:07 |
| 新手上路 发帖 8 积分 19 | |
|
[已解决]4DOS下使用IF判断文件的大小 这几天在做一个刷机的批处理 完全是基于DOS运行
其中一个部分是DUMP出一个DUMP.BIN 这个文件正确的大小是256kb 但是DUMP失败也会生成大小为0的同名文件 目前的问题就是需要判断此文件是否为256kb 如果不是 则转到出错 windows下的批处理我倒可以写出来 但是在DOS下不支持FOR的扩展参数 特求指教 要实现的功能如下: @echo off for %%1 in ("dump.bin") do if not "%%~z1" equ "262114" goto failed echo 成功读取 pause goto success :failed echo 读取失败 pause .. 就是要在DOS下实现上述功能 谢谢大家了 [ Last edited by Yaoxl on 2009-2-9 at 17:34 ] |
|
| 第2楼 DOSforever | 发表于 2009-02-08 13:07 |
| 金牌会员 发帖 2,239 积分 4,639 | |
| 第3楼 Yaoxl | 发表于 2009-02-09 09:45 |
| 新手上路 发帖 8 积分 19 | |
|
哈哈 版主我太爱你了!
让我找到了4dos这个好东东! 目前身边没有电脑 我用手机查看了论坛上所有4dos相关的文章 大概有了解决办法 版主帮我看看有无不妥 命令解释器换为4dos 判断语句改为 if not %@filesize=256 goto failed 再次感谢! [ Last edited by Yaoxl on 2009-2-9 at 14:58 ] |
|
| 第4楼 DOSforever | 发表于 2009-02-09 17:12 |
| 金牌会员 发帖 2,239 积分 4,639 | |
|
基本上没什么问题,但这里要注意个约定俗成的表示方法,不然的话会引起混乱。
一般,我们把小写的 b 表示为 bit ,大写的 B 表示 byte ,虽然这不是国际标准,但规范这样的写法可以避免误解,有助于交流。在 4DOS 中 b 和 B 没有区别,但 k K, m M, g G 是有区别的,1k=1000 而 1K=1024,依此类推。如果不是整数倍的话,取得的数是个近似值,为向上取整。因此,按照你这样的写法,你的那个 dump.bin 文件的大小得出的 k 数是不确切的,最好是指定明确的字节数,如 262144 ,k 不要。当然,如果你每个 dump.bin 文件的大小都完全相同,并且明确知道 k / K 字节数的话也可以使用。 [ Last edited by DOSforever on 2009-2-9 at 17:14 ] |
|
| 第5楼 Yaoxl | 发表于 2009-02-09 17:33 |
| 新手上路 发帖 8 积分 19 | |
|
再次,感激不尽!
已结帖 |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |