中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 求助,磁盘可用字符单位如何换算
作者:
标题: 求助,磁盘可用字符单位如何换算 上一主题 | 下一主题
zhoushijay
高级用户

Autowalk


积分 845
发帖 375
注册 2007-3-3
状态 离线
『楼 主』:  求助,磁盘可用字符单位如何换算

本人用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为单位的数字?

2007-3-3 07:05
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 2 楼』:  

近似:
set g=%d:~0,-3%
set /a g=%d%/1073742

[ Last edited by zh159 on 2007-3-2 at 09:13 PM ]

2007-3-3 09:45
查看资料  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 3 楼』:  



  Quote:
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 ]

2007-3-3 09:50
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
vkill
金牌会员





积分 4103
发帖 1744
注册 2006-1-20
来自 甘肃.临泽
状态 离线
『第 4 楼』:  

echo %d% 1073741824|gawk "{print $1/$2}"

2007-3-3 09:56
查看资料  发送邮件  访问主页  发短消息 网志   编辑帖子  回复  引用回复
zh159
金牌会员




积分 3687
发帖 1467
注册 2005-8-8
状态 离线
『第 5 楼』:  

忘了-_-|||

2007-3-3 10:08
查看资料  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: