无忧启动论坛

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

全面更新:超小盘符调整批处理

[复制链接]
跳转到指定楼层
1#
发表于 2009-6-4 10:13:07 | 只看该作者 回帖奖励 |正序浏览 |阅读模式
三个版本
1.orddrv1.cmd,小巧快速,不能调整移动硬盘;
2.orddrv2.cmd,能调整移动硬盘,需要MBRFIX.EXE;
3.orddrv3.cmd,能调整移动硬盘,严格按分区起始扇区来设定盘符需要MBRFIX.EXE,sort.exe。还有一个功能:如果你在windows中将某个分区挂在某个目录下,此程序不会为此分区设定盘符,而是自动将它挂在目录下,这是我写这个程序的主要动机。当然1,2也可加上此功能。

请在load *.ini前调用:exec =!cmd.exe /c "orddrv.cmd"

一点说明:我没有理会虚拟盘,个中原因想想就会请楚!

这几个程序比V8的短不少,我想也好看懂一些,希望有兴趣的朋友帮忙测试一下。

[ 本帖最后由 lelexiong 于 2009-6-8 18:35 编辑 ]

orddrv1.zip

543 Bytes, 下载次数: 168, 下载积分: 无忧币 -2

orddrv2.zip

768 Bytes, 下载次数: 104, 下载积分: 无忧币 -2

orddrv3.zip

974 Bytes, 下载次数: 119, 下载积分: 无忧币 -2

MBRFIX.zip

63.71 KB, 下载次数: 104, 下载积分: 无忧币 -2

sort.zip

11.28 KB, 下载次数: 93, 下载积分: 无忧币 -2

32#
发表于 2009-6-11 15:01:32 | 只看该作者
小巧实用,下载了,用一下。
回复

使用道具 举报

31#
发表于 2009-6-11 13:57:29 | 只看该作者
不错的。我就喜欢这个批处理!
回复

使用道具 举报

30#
发表于 2009-6-11 11:55:17 | 只看该作者
[quote]原帖由 lelexiong 于 2009-6-7 02:27 发表
多谢楼主的解释。你删除附件的方法如下图:

你编辑帖子,然后点击左下角的前面小方框(你要删除的那个附件前面),最后点击编辑帖子,就可以了


回复

使用道具 举报

29#
发表于 2009-6-8 19:52:04 | 只看该作者
我对盘符的错与对不感冒,能做系统就可以
回复

使用道具 举报

28#
发表于 2009-6-8 19:15:50 | 只看该作者
原帖由 lelexiong 于 2009-6-8 19:00 发表
这个是xp sp3中的,不过在2003是可用的。每个windows都有的sort.exe的。



首页说清
要试用下
回复

使用道具 举报

27#
 楼主| 发表于 2009-6-8 19:00:46 | 只看该作者
这个是xp sp3中的,不过在2003中是可用的。每个windows都有sort.exe的。

[ 本帖最后由 lelexiong 于 2009-6-8 19:26 编辑 ]
回复

使用道具 举报

26#
发表于 2009-6-8 18:52:45 | 只看该作者
sort.exe

是否对XP.VISTA.2003

通用?
回复

使用道具 举报

25#
 楼主| 发表于 2009-6-8 17:43:34 | 只看该作者
已经上传,自己顶一下
回复

使用道具 举报

24#
发表于 2009-6-8 11:51:18 | 只看该作者
不知何时更新上传?
回复

使用道具 举报

23#
 楼主| 发表于 2009-6-7 11:35:37 | 只看该作者

回复 #22 梅边吹笛 的帖子

不是。想问一下如何删除附件?
回复

使用道具 举报

22#
发表于 2009-6-7 09:33:00 | 只看该作者
对楼主的东西比较有兴趣。请问楼主的三个不同大小的同名附件分别是楼主说的三个版本吗?望楼主注明一下并提供下载。谢谢!
回复

使用道具 举报

21#
 楼主| 发表于 2009-6-7 02:27:10 | 只看该作者

回复 #18 ISO 的帖子

对不起,我不知道怎样删除附件,所以才出现这种现象,很抱歉。
我手上有三种版本:
1.简洁版:不能调整移动硬盘盘符,速度快,无需mbrfix.exe
2.加强版:能调整移动硬盘盘符,需要mbrfix.exe
3.严谨版:就是严谨啰,速度比第一个慢,需要mbrfix.exe,sort.exe
每一个版本还有一个定制版,如果你不喜欢太多盘符,而喜欢将分区挂在目录下,定制版可以做到这点。
我个人还是喜欢简洁版,用的是它的定制版,因为我从来不从移动硬盘引导系统,简洁版就很好了。
我现在不敢上传附件了,这里还是附上最新的简洁版,如果你有兴趣,我也可提供其他版本

[ 本帖最后由 lelexiong 于 2009-6-8 01:54 编辑 ]
回复

使用道具 举报

20#
发表于 2009-6-7 02:04:02 | 只看该作者
真够简洁的,谢谢分享了
回复

使用道具 举报

19#
发表于 2009-6-7 01:16:07 | 只看该作者
不太懂其中原理,先收下再说,谢谢楼主的作品。
回复

使用道具 举报

18#
发表于 2009-6-6 23:33:00 | 只看该作者
请问楼主,你顶楼上传了好几个,哪个是最新版本啊,怎么还有一个精简一下的版本?
回复

使用道具 举报

17#
 楼主| 发表于 2009-6-5 01:03:57 | 只看该作者
原帖由 hhh333 于 2009-6-4 19:26 发表



lelexiong 兄的这个程序要有广泛的适应性,移动硬盘也必须要考虑的,期待一个简洁高效的新程序。


移动硬盘考虑了,可惜用了mbrfix.exe
回复

使用道具 举报

16#
发表于 2009-6-4 20:51:19 | 只看该作者
thinkpad 的sl400分区后,重新恢复vista, 盘符经常错乱(因为sl400恢复分区共有2个。加上系统区。共3个分区)。不知道这个能不能解决
回复

使用道具 举报

15#
发表于 2009-6-4 19:26:59 | 只看该作者
原帖由 lelexiong 于 2009-6-4 17:02 发表
自己在pe下使用,没考虑太多。既然有V8大大提出意见,我就也来考虑通用性

1.subst不能考虑。虚拟光驱、硬盘有些复杂,和所用软件有关,我大概看出了点门道,准备修改。
2.大人说之后又添加硬盘,是不是说在 ...



lelexiong 兄的这个程序要有广泛的适应性,移动硬盘也必须要考虑的,期待一个简洁高效的新程序。
回复

使用道具 举报

14#
发表于 2009-6-4 19:24:45 | 只看该作者
原帖由 victor888 于 2009-6-4 13:36 发表
感谢LZ,我发现了我的程序中的BUG,我又添加了一块SATA硬盘,结果其序号变为0了,这样盘符确实会乱的,现在就改,一会儿推出。

另外,刚才验证了一下楼主的程序,我的系统有一个虚拟盘符,运行LZ的程序后出现 ...


我到原帖中去看了一下,还没有更新,期待最新的研究成果!
回复

使用道具 举报

13#
 楼主| 发表于 2009-6-4 17:02:03 | 只看该作者

回复 #7 victor888 的帖子

自己在pe下使用,没考虑太多。既然有V8大大提出意见,我就也来考虑通用性

1.subst不能考虑。虚拟光驱、硬盘有些复杂,和所用软件有关,我大概看出了点门道,准备修改。
2.大人说之后又添加硬盘,是不是说在windows中,PE中没这机会呀。移动硬盘手中没有,有机会借个试试。
3.这个大人多虑了,要的就是for的这个效果。
4.我起先也考虑偏移,后来看mountvol命令所列出的卷名值好像总是按升级排列的,就写了这个。
  考虑偏移好像也无需其它程序,不过批处理要复杂不少,只好无限期延迟了。

虚拟光驱、硬盘确实麻烦,要保证可用,它的镜象文件(非内核镜像)所在盘的盘符就不能调整,
这使得整个调整失去意义,
只能要求虚拟盘挂在A:、B:、Y:或Z:之上,或者在调整之前不要挂虚拟盘

[ 本帖最后由 lelexiong 于 2009-6-4 19:53 编辑 ]
回复

使用道具 举报

12#
发表于 2009-6-4 15:59:02 | 只看该作者
能不能用啊,我下来试试
回复

使用道具 举报

11#
发表于 2009-6-4 13:50:51 | 只看该作者
恭喜V版获新进展 也很欣喜坛里有技术交流使得彼此不断进步~
回复

使用道具 举报

10#
发表于 2009-6-4 13:36:12 | 只看该作者
感谢LZ,我发现了我的程序中的BUG,我又添加了一块SATA硬盘,结果其序号变为0了,这样盘符确实会乱的,现在就改,一会儿推出。

另外,刚才验证了一下楼主的程序,我的系统有一个虚拟盘符,运行LZ的程序后出现“目录是空的”并自动退出,这验证了我的第1个预测。

现在我把虚拟盘符去除再试一下。
===
结果是新加入的硬盘,盘符顺序不对,这就验证了我的第4个猜测,即volume id 并不全是按照volume id升序排列的,这种情况并不只是两块或多块硬盘发生,一块硬盘上也可以出现。

本结果同时也证实了我的第2个预测,即在有USB硬盘存在的情况下,后加入的硬盘盘符会靠后的。

稍后上图说明。

测试条件,系统原有硬盘一块,USB硬盘一块,可移动硬盘一个,DVD一个,后又加入了一个SATA硬盘,下图1是运行批处理后的结果,其中磁盘0为新加入的SATA硬盘,磁盘1为系统原有硬盘,磁盘2为USB硬盘,磁盘3为U盘。

图2是运行mountvol结果。

[ 本帖最后由 victor888 于 2009-6-4 14:03 编辑 ]

盘符截图1.jpg (76.03 KB, 下载次数: 39)

图1

图1

盘符截图2.jpg (60.88 KB, 下载次数: 36)

图2

图2
回复

使用道具 举报

9#
发表于 2009-6-4 13:07:20 | 只看该作者
原帖由 lelexiong 于 2009-6-4 10:24 发表
我挂了四个硬盘,分区的方式较多,你总使我的C:盘腾空,后面的盘符更乱!
原本想修改你的,因为太长,我没完全搞明白,就自己写了一个。


我的程序是不管你挂几块硬盘都支持的,还是希望你能提供详细的报告。当然,我们也可以讨论程序中的细节,有问题必须解决。
回复

使用道具 举报

8#
发表于 2009-6-4 13:00:28 | 只看该作者
原帖由 NicTense 于 2009-6-4 10:41 发表
至今都没看过那个文件的源程序,没特别注意到有什么问题
对了,想请教一下,如果我是把pe安装到硬盘上的,这个批处理是不是就没意义了


这东西是调整盘符错乱的,没有错乱当然不需要了,错不错乱只有自己试验。
回复

使用道具 举报

7#
发表于 2009-6-4 12:59:04 | 只看该作者
LZ写的不错,提点问题:

1. 程序中没有考虑排除虚拟盘符
如使用虚拟光驱软件、subst等命令获得的盘符。如果有这样的盘符,因mountvol无法获得他们的volume id必然造成批处理出错,被虚拟盘符占用的盘符无法分配给其他分区。

2. 如果有移动硬盘存在,那么不能指出哪些盘符是移动硬盘的,举个例子:
你现在有一块硬盘和一块移动硬盘,现在你又添加了一块硬盘,在你的移动硬盘连接电脑的情况下,那么这个批处理将把后添加的硬盘所有盘符排在移动硬盘之后。当然,这种情况比较少见。

3.容错处理
如果系统没有可移动设备和光驱,那么最后的for语句就不起作用,可以加几个if语句来判断变量是否定义,这样的容错功能会更好。

4.有待确认的一件事
mountvol命令所列出的volume id值是不是总是按升级排列的,我查看的几台电脑都是这样排的。我的未修改前程序,从注册表中读取的volume id也是按升序或降序排列的,但是就是因为这个经验错误,在我遇到了不按序排列的注册表后,程序出错了。这使得我找到了按分区的offset值来排序的方法。

因此,我请广大网友进行充分的测试并反馈。
==

另外,麻烦LZ一定将我的程序运行结果告诉我,我查找问题到底出在什么地方。
谢谢

[ 本帖最后由 victor888 于 2009-6-4 13:03 编辑 ]
回复

使用道具 举报

6#
发表于 2009-6-4 12:38:21 | 只看该作者
原帖由 lelexiong 于 2009-6-4 10:13 发表
victor888 的orderdrv.cmd在我机子上一直不好使,于是便自己写了一个,还行!

只有40行,大小正好1K.
依赖三个命令:mountvol.exe, find.exe, reg.exe
请在load \*.ini 前执行exec =!cmd.exe /c "orddrv.c ...


真够简洁的,应该有用吧?
回复

使用道具 举报

5#
发表于 2009-6-4 10:41:57 | 只看该作者
原帖由 victor888 于 2009-6-4 10:16 发表
1. 需要你的下载

2. 想麻烦你报告一下不能正常运行的版本,以及结果。只有您报告了,我才能确定问题到底是什么。



至今都没看过那个文件的源程序,没特别注意到有什么问题

对了,想请教一下,如果我是把pe安装到硬盘上的,这个批处理是不是就没意义了
回复

使用道具 举报

4#
 楼主| 发表于 2009-6-4 10:35:01 | 只看该作者
大家可以运行下面附件看看结果,他并不做盘符调整。

前面的是卸下的现有盘符,后面的是重新挂载的盘符与卷名对照表。

[ 本帖最后由 lelexiong 于 2009-6-8 17:42 编辑 ]
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-12-21 03:18

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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