中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-03 14:09
48,038 主题排行 / 350,123 发帖 / 今日 0 篇 / 48,251 会员排行
DOS批处理 & 脚本技术(批处理室) » 求助,磁盘可用字符单位如何换算
可打印版本  1,170 / 4
第1楼 zhoushijay 发表于 2007-03-03 07:05
高级用户 发帖 375 积分 845
求助,磁盘可用字符单位如何换算
本人用BAT做了一个公司数据库的备份程序,现在想要他当硬盘空间不足的时候自动停止运行,但是遇到了点小麻烦要请教各位高手;)

For /f "eol=可 usebackq tokens=3 delims=" %%i in ('fsutil volume diskfree d: ') do set d =%%i

以上可以得出 %d% 就是磁盘可用空间的数字,但是这个数字以B为单位太大了,不能用于 set /a g=%d%+1 这样的计算,请问如何将 %d% 这个数字转换成以GB为单位的数字?
第2楼 zh159 发表于 2007-03-03 09:45
金牌会员 发帖 1,467 积分 3,687
近似:
set g=%d:~0,-3%
set /a g=%d%/1073742

[ Last edited by zh159 on 2007-3-2 at 09:13 PM ]
第3楼 vkill 发表于 2007-03-03 09:50
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
Originally posted by zh159 at 2007-3-3 09:45:
set /a g=%d%/1073741824

呵呵,兄可否试过,set/a 还不能计算那么大数字的除数

无效数字。数字精确度限为 32 位。

[ Last edited by vkill on 2007-3-3 at 09:56 AM ]
第4楼 vkill 发表于 2007-03-03 09:56
金牌会员 发帖 1,744 积分 4,103 来自 甘肃.临泽
echo %d% 1073741824|gawk "{print $1/$2}"
第5楼 zh159 发表于 2007-03-03 10:08
金牌会员 发帖 1,467 积分 3,687
忘了-_-|||
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023