无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站投放广告、加入VIP会员,请联系 微信:wuyouceo
查看: 9466|回复: 12
打印 上一主题 下一主题

WENV版整数分区速查表&计算器(完整版)[2010-11-23]

[复制链接]
跳转到指定楼层
1#
发表于 2010-9-26 21:20:31 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
[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, 下载次数: 166) 压缩包中已包含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 编辑 ]
2#
发表于 2010-9-26 23:29:57 | 只看该作者
。。。。
强人。我就看不太懂。
回复

使用道具 举报

3#
发表于 2010-9-27 08:14:00 | 只看该作者
现在硬盘容量大,以NTFS分区为主
回复

使用道具 举报

4#
发表于 2010-9-27 08:42:22 | 只看该作者
整数分区后系统显示的好像也不是整数吧。
回复

使用道具 举报

5#
 楼主| 发表于 2010-9-27 09:51:52 | 只看该作者
原帖由 renchmin 于 2010-9-27 08:42 发表
整数分区后系统显示的好像也不是整数吧。


基本上不可能会有绝对的整数,但偏差很小时,“我的电脑”显示的就是整数,而不会出现10.01这样的大小,看起来舒服些
回复

使用道具 举报

6#
发表于 2010-9-28 10:03:02 | 只看该作者
建议楼主结合partnew命令使用,可使分区操作简单而完整。
回复

使用道具 举报

7#
 楼主| 发表于 2010-9-29 08:39:35 | 只看该作者
原帖由 八千流 于 2010-9-28 10:03 发表
建议楼主结合partnew命令使用,可使分区操作简单而完整。


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

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

[ 本帖最后由 tuxw 于 2010-9-29 08:42 编辑 ]
回复

使用道具 举报

8#
发表于 2010-9-29 09:19:46 | 只看该作者
楼主这样分出来的分区是否柱面对齐了?
回复

使用道具 举报

9#
 楼主| 发表于 2010-9-29 09:41:51 | 只看该作者
这个只是计算结果,不负责分区,计算出的是一个最近整数G的MB值
计算公式是从网上搜索到的,按其原理,NTFS的计算结果是柱面对齐的(取整之前),FAT32则不一定

但最终是否会对齐取决于所用的分区软件
比如上面5G分区,表中显示NTFS分区要5123MB,但在PQ805中,输入5123后分出来的并不是5123,它是最接近5123的一个带小数的值,这个应该就是对齐的结果。
回复

使用道具 举报

10#
发表于 2010-11-10 15:25:55 | 只看该作者
下載文件不知怎樣運用呢?
回复

使用道具 举报

11#
 楼主| 发表于 2010-11-10 22:20:52 | 只看该作者
是个菜单文件,configfile 它即可测试,真正用的话可整合到自己的菜单中

正在改进WENV的calc命令,有望解决NTFS的计算问题
回复

使用道具 举报

12#
 楼主| 发表于 2010-11-23 10:11:52 | 只看该作者
已支持NTFS分区计算
回复

使用道具 举报

13#
发表于 2010-11-24 22:15:31 | 只看该作者
下载用用看先!嘿嘿!!!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|Archiver|捐助支持|无忧启动 ( 闽ICP备05002490号-1 )

闽公网安备 35020302032614号

GMT+8, 2024-11-23 09:18

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表