无忧启动论坛

标题: Fbinst如何获取优盘UD分区大小 [打印本页]

作者: 往事亦飘    时间: 2013-5-11 10:53
标题: Fbinst如何获取优盘UD分区大小
本帖最后由 往事亦飘 于 2013-5-11 11:32 编辑

是这样的,我做了个启动盘,想加入免格式化功能,所以要获得UD分区大小,如果用户的ud空间小于给定的大小,就要重格式化安装。

Fbinst获取优盘UD分区大小代码 不会写,从网上也没找到,请高手指点。
作者: 2011LLYC    时间: 2013-5-11 12:51
http://bbs.wuyou.net/forum.php?mod=viewthread&tid=170034
看看这里
作者: 不才    时间: 2013-5-11 13:27
本帖最后由 不才 于 2013-5-11 13:30 编辑

嘿嘿,
fbinst %hd% info
作者: 往事亦飘    时间: 2013-5-11 15:32
请问具体如何写呢
作者: 不才    时间: 2013-5-11 19:22
嘿嘿,
fbinst %hd% info

其中的 %hd%为你的u盘在当前系统下的编码,可通过以下命令获得:
fbinst -l
通常该代码为hd1,或hd2、hd3,取决于当前系统下usb设备的数量。
例如偶的u盘执行命令:
fbinst hd1 info
可获得以下信息:
------------------------
version: 1.6
base boot sector: 63
boot code size: 4
primary data size: 16128
extended data size: 86016
debug version: no
bpb status: init
format options: --extended 86016
file list size: 896
file list used: 2
files:
......
-------------------------------------------
其中:
primary data size: 16128    #主分区 7.875M
extended data size: 86016  #拓展分区 42M
作者: 往事亦飘    时间: 2013-5-11 19:30
本帖最后由 往事亦飘 于 2013-5-11 19:38 编辑

谢谢,现在我明白了,16128   86016  取得这二个值的代码不会写,可以提示一下吗?

我是这样写的:
fb.txt 是获得的所有信息我保存到txt文件里的

fbinst hd info >fb.txt

IniFile:=ExpandConstant('{tmp}\fb.txt'); // 你的 txt 文件名
OldString:='primary data size:'; // 要找的字符串
LoadStringFromFile(IniFile,fb)
for i:= 0 to 1 do
if (Pos(OldString, fb) > 0) then
fb:=copy(fb,75,5);


这样取得了16128

这样写代码好像不好呢

这个软件的作者应加个函数直接获取这二个值就方便多了




欢迎光临 无忧启动论坛 (http://wuyou.net./) Powered by Discuz! X3.3