中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-03 15:09
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助,磁盘可用字符单位如何换算 查看 1,173 回复 4
楼 主 求助,磁盘可用字符单位如何换算 发表于 2007-03-03 07:05 ·  中国 浙江 绍兴 电信
高级用户
★★★
Autowalk
积分 845
发帖 375
注册 2007-03-03 01:58
19年会员
UID 80606
性别 男
状态 离线
本人用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 发表于 2007-03-03 09:45 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
近似:
set g=%d:~0,-3%
set /a g=%d%/1073742

[ Last edited by zh159 on 2007-3-2 at 09:13 PM ]
3 发表于 2007-03-03 09:50 ·  中国 甘肃 兰州 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
20年会员
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
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 发表于 2007-03-03 09:56 ·  中国 甘肃 兰州 电信
金牌会员
★★★★
积分 4,103
发帖 1,744
注册 2006-01-20 13:00
20年会员
UID 49241
性别 男
来自 甘肃.临泽
状态 离线
echo %d% 1073741824|gawk "{print $1/$2}"
5 发表于 2007-03-03 10:08 ·  中国 广西 玉林 博白县 电信
金牌会员
★★★★
积分 3,687
发帖 1,467
注册 2005-08-08 12:00
20年会员
UID 44210
状态 离线
忘了-_-|||
论坛跳转: