楼 主
[已解决]4DOS下使用IF判断文件的大小
发表于 2009-02-08 07:07 · 中国 四川 成都 电信
新手上路
★
积分 19 发帖 8 注册 2009-02-04 00:44 17年会员 UID 137975 性别 男
状态 离线
这几天在做一个刷机的批处理 完全是基于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 楼
发表于 2009-02-08 13:07 · 中国 上海 杨浦区 电信
金牌会员
★★★★
积分 4,639 发帖 2,239 注册 2005-01-30 00:00 21年会员 UID 35785 性别 男
状态 离线
第 3 楼
发表于 2009-02-09 09:45 · 中国 广东 潮州 电信
新手上路
★
积分 19 发帖 8 注册 2009-02-04 00:44 17年会员 UID 137975 性别 男
状态 离线
哈哈 版主我太爱你了!
让我找到了4dos这个好东东!
目前身边没有电脑 我用手机查看了论坛上所有4dos相关的文章 大概有了解决办法 版主帮我看看有无不妥
命令解释器换为4dos
判断语句改为
if not %@filesize=256 goto failed
再次感谢!
[ Last edited by Yaoxl on 2009-2-9 at 14:58 ]
第 4 楼
发表于 2009-02-09 17:12 · 中国 上海 杨浦区 电信
金牌会员
★★★★
积分 4,639 发帖 2,239 注册 2005-01-30 00:00 21年会员 UID 35785 性别 男
状态 离线
基本上没什么问题,但这里要注意个约定俗成的表示方法,不然的话会引起混乱。
一般,我们把小写的 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 ]
本帖最近评分记录
(共 1 条)
点击查看详情
评分人 分数 时间
Yaoxl
+1
2009-02-09 17:55
第 5 楼
发表于 2009-02-09 17:33 · 中国 广东 潮州 电信
新手上路
★
积分 19 发帖 8 注册 2009-02-04 00:44 17年会员 UID 137975 性别 男
状态 离线
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正