无忧启动论坛

标题: WENV版整数分区速查表&计算器(完整版)[2010-11-23] [打印本页]

作者: tuxw    时间: 2010-9-26 21:20
标题: WENV版整数分区速查表&计算器(完整版)[2010-11-23]
[2010-11-23]
解决了WENV计算64位有效值后,可以用近似办法计算浮点数,因此有了计算NTFS分区的可能。
(要用我编译的11-22以后的版本,这个帖子最后下载最新版:http://bbs.wuyou.net/forum.php?mod=viewthread&tid=159851&extra=page%3D1

zsfq.rar (13.83 KB, 下载次数: 172) 压缩包中已包含WENV

只需要一个批处理,在自己的菜单中调用变得简单:
title 整数分区速表&计算器
/ZSFQ.BAT




!BAT整数分区速查表&计算器
clear
echo -e \nGB\tFAT32(MB)\tNTFS(MB)\n
echo -e [5]\t5136\t\t5123
WENV for /L %i in (10,10,100) do (set G=%i ; calc M=G-1<<2 ; calc M=G<<10+M ; echo -e -n [$${G}]\t$${M}\t\t ; calc M=G<<21*100000/255/63+100000/100000*100000*255*63>>11/100000+1 ; echo $${M})
WENV set G=$input,input other size to calc(Enter to return), G=
WENV get G ]]& set -x G=${G} ]]& calc G1=G ]]& check ${G}==${G1} ]]& calc G=G1 ]]! reset G1
WENV get G1 ]]& (calc M=G-1<<2 ; calc M=G<<10+M ; echo -e -n [${G}]\t${M}\t\t ; calc M=G<<21*100000/255/63+100000/100000*100000*255*63>>11/100000+1 ; echo ${M})
WENV get G1 ]]& call pause press any key to continue ...
WENV reset G ]]] reset M ]]] reset G1


============================================

整数分区是个很贴心的功能,计算方法也简单,而且网上也随时可查,不过装机分区时大多数时候都是没有上网条件的,避免先用纸抄下。如果你的工具是基于grub4dos引导的,只用很少的代码就具有这个查询功能了。

关键代码很少,贴图中上面的速查表只是先写好显示出来而,后面的计算器只针对FAT32分区。因为WENV没有浮点数计算功能,我试着用扩展的方法去计算浮点数,太繁琐了,弄个FAT32计算器+速查表将就。

图中第一行FAT32公式最后应该是 *4,多了个0是Notepad++的自动完成惹的祸。不过只是显示上的错误,后面的计算还是按*4来算的。


#0
title 整数分区速查表 & (Grub4Dos版FAT32计算器)
#将这些代码加入自己的菜单时修改下面两个变量(跳转的菜单号)
WENV set _CONT=0
WENV set _EXIT=1
#显示速查表
#...
WENV set _GB=
WENV set _MB=
WENV set _MB1=
WENV set _GB=$input,FAT32计算器(回车/ESC返回),输入G=
WENV get _GB || WENV run fallback --go ${_EXIT}
debug off
WENV calc _GB=${_GB} || pause 输入非法,只能输入数字... && clear && WENV run fallback --go ${_CONT}
WENV calc 0+${_GB}>>63 && pause 输入非法,范围[1-5000]... && clear && WENV run fallback --go ${_CONT}
WENV calc 5000-${_GB} >> 63 && pause 输入非法,范围[1-5000]... && clear && WENV run fallback --go ${_CONT}
ECHO
WENV calc _MB=${_GB}<<10
WENV calc _MB1=${_GB}-1 << 2
WENV calc _MB=${_MB}+${_MB1}
ECHO
WENV get _MB && WENV run pause 分区大小(MB)=${_MB}, 按任意键继续... && clear && WENV run fallback --go ${_CONT}

#1
title
clear
WENV set _GB=
WENV set _MB=
WENV set _MB1=
WENV set _CONT=
WENV set _EXIT=
debug on

[ 本帖最后由 tuxw 于 2010-11-23 10:58 编辑 ]
作者: chenall    时间: 2010-9-26 23:29
。。。。
强人。我就看不太懂。
作者: 33445566    时间: 2010-9-27 08:14
现在硬盘容量大,以NTFS分区为主
作者: renchmin    时间: 2010-9-27 08:42
整数分区后系统显示的好像也不是整数吧。
作者: tuxw    时间: 2010-9-27 09:51
原帖由 renchmin 于 2010-9-27 08:42 发表
整数分区后系统显示的好像也不是整数吧。


基本上不可能会有绝对的整数,但偏差很小时,“我的电脑”显示的就是整数,而不会出现10.01这样的大小,看起来舒服些
作者: 八千流    时间: 2010-9-28 10:03
建议楼主结合partnew命令使用,可使分区操作简单而完整。
作者: tuxw    时间: 2010-9-29 08:39
原帖由 八千流 于 2010-9-28 10:03 发表
建议楼主结合partnew命令使用,可使分区操作简单而完整。


目前只是简单的查表和数值计算,还没有进一步直接分区的功能。

partnew好象只能分主分区(好象在哪个帖中看到过,没细研究)

[ 本帖最后由 tuxw 于 2010-9-29 08:42 编辑 ]
作者: fujianabc    时间: 2010-9-29 09:19
楼主这样分出来的分区是否柱面对齐了?
作者: tuxw    时间: 2010-9-29 09:41
这个只是计算结果,不负责分区,计算出的是一个最近整数G的MB值
计算公式是从网上搜索到的,按其原理,NTFS的计算结果是柱面对齐的(取整之前),FAT32则不一定

但最终是否会对齐取决于所用的分区软件
比如上面5G分区,表中显示NTFS分区要5123MB,但在PQ805中,输入5123后分出来的并不是5123,它是最接近5123的一个带小数的值,这个应该就是对齐的结果。
作者: wama    时间: 2010-11-10 15:25
下載文件不知怎樣運用呢?
作者: tuxw    时间: 2010-11-10 22:20
是个菜单文件,configfile 它即可测试,真正用的话可整合到自己的菜单中

正在改进WENV的calc命令,有望解决NTFS的计算问题
作者: tuxw    时间: 2010-11-23 10:11
已支持NTFS分区计算
作者: liaoliang    时间: 2010-11-24 22:15
下载用用看先!嘿嘿!!!




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