无忧启动论坛

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

[原创] DP盘符整理 1.0.7.1

    [复制链接]
跳转到指定楼层
1#
发表于 2021-3-24 21:46:55 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 nttwqz 于 2023-7-19 23:24 编辑



本工具基于dpinfo开发,不需要任何三方工具,仅支持Win7以上简体中文系统。

仅在对其它盘符整理工具均不满意的情况下才推荐使用本工具,或者不太注重效率的场合,因为diskpart首次初始化缓慢众所周知。

主要按照diskpart磁盘和分区顺序整理,顺序或者ACT/ESP倒序整理,倒序时ACT/ESP在最后,DVD等在其前。由于本工具支持大量开关设置,还会检测所有用户文件夹和已安装程序路径所在盘符,检测diskpart无法识别的盘符等,这些盘符可能会自动加入盘符白名单,这些都会影响整理顺序。

支持检测所有用户文件夹和已安装程序路径功能,仅正常系统检测,当检测到有位于非C盘路径时,自动将盘符加入盘符白名单。用户文件夹路径检测支持符号链接追踪,就是如果使用了mklink转移了桌面等到非C盘,注册表路径不变时,那么这个转移后的盘符也会加入盘符白名单。

支持检测识别非diskpart盘符功能,非diskpart盘符就是所有存在的盘符减去list vol获取的盘符,无法被diskpart操作,已知空读卡器有时会出现这种情况、还有内存盘、挂载的虚拟机磁盘等。为避免误操作,此类盘符的整理操作已被严格限制,当检测到此类盘符,需要使用mountvol操作,不存在mountvol时,自动加入盘符白名单。当mountvol获取的对应卷名称存在时,且fsutil获取的类型为“可移动驱动器”或者大小为0的非diskpart盘符,才参与整理,否则一律自动加入白名单。当检测到非diskpart盘符存在时,当fsutil可用时,自动使用fsutil获取设备类型、文件系统、卷标,方便识别。当fsutil不可用时,仅显示盘符。以其它开头的行就是此类设备了。

支持问题反馈自动打包,使用 /bug 参数调用,省去复制粘贴运行再打包繁琐步骤,自动执行并打包为压缩文件,只需将该文件上传即可。优先使用开源软件7-Zip打包,仅限默认安装路径,当失败时再使用makecab打包,若再失败,则提示手动打包。为了便于上传,格式都是7z。


【开关设置】详见脚本开头注释,请根据个人需要自行修改。

::所有参数不分大小写,功能开启 Y
::自动模式:使用 /S 参数调用,自动开始,不显示磁盘信息列表,完成后自动退出。

::检查脚本是否已退出:在桌面生成 整理盘符中.txt,完成后删除,仅自动模式有效,通过检查桌面是否有此文件来判断是否整理完成。
  1. set exitcheck=
复制代码

::盘符白名单:不整理和不使用的盘符列表,可能会影响盘符顺序,当前系统盘默认不整理,空格分隔,例如,U V Y Z
  1. set ltrwhitelist=
复制代码

::分区ID白名单:无盘符时不分配盘符的分区ID列表,主要用于非标准分区,空格分隔,可在此处添加不想被分配盘符的分区ID类型。
::已知:EF=Ventory的ESP分区
  1. set idwhitelist=EF
复制代码

::磁盘名称白名单:这些磁盘将不参与整理,维持其原样不变,英文逗号分隔,需Win7 SP1及以上操作系统。
  1. set disknamewhitelist=
复制代码

::分区无盘符时分配盘符的文件系统列表关键字:含有关键字且满足分区属性条件才分配盘符,空格分隔,例如,关键字FAT包含FAT、FAT32、exFAT
  1. set fslist=FAT NTFS REFS UDF CDFS
复制代码

::排除无盘符分区,仅处理有盘符的分区,默认:禁用。注意:此开关优先级高于挂载ACT/ESP分区开关mountactesp,启用后即使mountactesp启用,也不会为无盘符的ACT/ESP分区分配盘符。
  1. set excludenoltr=
复制代码

::排除无盘符分区生效范围设置,默认:无(全局生效)。值:C/X/无,系统盘符和值相同时生效,没有值或者变量不存在时全局生效。
  1. set excludenoltr_os=
复制代码

::排除非diskpart盘符,仅处理diskpart能识别的设备盘符,默认:禁用。启用后非diskpart盘符将全部自动加入盘符白名单。
  1. set excludenotdpltr=
复制代码

::排除非diskpart盘符生效范围设置,默认:无(全局生效)。值:C/X/无,系统盘符和值相同时生效,没有值或者变量不存在时全局生效。
  1. set excludenotdpltr_os=
复制代码

::挂载ACT/ESP分区,默认:启用。注意:此开关优先级低于排除无盘符分区开关excludenoltr,excludenoltr启用后此开关失效。
  1. set mountactesp=Y
复制代码

::挂载ACT/ESP分区生效范围设置,默认:X。值:C/X/无,系统盘符和值相同时生效,没有值或者变量不存在时全局生效。
  1. set mountactesp_os=X
复制代码

::ACT/ESP分区分配顺序模式,默认:Y,正序模式。启用:正序模式,禁用:倒序模式,正常系统下强制为倒序模式。启用后无论是否ACT/ESP分区,均按从C到Z顺序排列。禁用后,ACT/ESP分区将按磁盘和分区的倒序从Z到C分配。
  1. set czmode=Y
复制代码

::ACT/ESP倒序分配模式排除USB设备,默认:启用。启用后USB设备的ACT/ESP仍然正序排列,一般用于保证U盘的启动分区和数据分区盘符相邻。
  1. set czmodedisabled_excludeusb=Y
复制代码

::Windows所在磁盘前置,默认:启用。只有一个Windows分区或固态硬盘时有效,未找到Windows分区时,检测磁盘类型是NVMe或名称中有SSD,一般用于SSD+HDD时,SSD磁盘前置。
  1. set windiskfirst=Y
复制代码

::为磁盘无介质无盘符的卷分配盘符,默认:禁用。常见于空读卡器,正常系统此类驱动器一般隐藏,优盘右键弹出未物理拔出,又手动删除其盘符,也是这种情况。
  1. set disknomedia_noltr_assign=
复制代码

::问题反馈:请在保持连接设备不变的情况下用 /bug 参数调用脚本,然后按照提示操作!


实测在添加到PE,进入桌面后依然需要等待5、6、7、8、9、10秒,虽然很多时候也不那么急,但总的来说,首次运行依然较慢,各位用的时候要有点心理准备。

WinPE启动项添加位置参考:HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion\WinPE\OC\Microsoft-WinPE-HTA
此位置可以解决diskpart脚本开机自启需要1分钟以上手动运行只需要几秒的问题。
此位置在欢迎屏幕期间执行,并且是阻塞执行,启动时有黑框一闪而过,只有执行完才能进入桌面。建议添加其它批处理或者pecmd配置文件,间接调用减少等待。

有人反馈提权命令可能会导致死循环,但是个人使用多年从未遇到,已限制仅在系统盘是C时运行,若出错可删除::自动请求以管理员权限运行下面一行。

下载
DP盘符整理_1.0.7.1.7z (24.05 KB, 下载次数: 681)

其它地址
https://sourceforge.net/projects/dpltrsort.dpinfo.p/


评分

参与人数 12无忧币 +56 收起 理由
nfans + 5 很给力!
jhko1234 + 5 好用
77766 + 1
2012andyle113 + 5 很给力!
smss + 5 很给力!
chshrm + 5 整一下呗
Anson4 + 5 赞一个!
1024782496 + 5 很给力!
我是小青蛙 + 5 赞一个!
dos时代菜鸟 + 5 赞一个!
wuxin9712 + 5
freesoft00 + 5

查看全部评分

来自 2#
 楼主| 发表于 2023-4-18 22:12:06 | 只看该作者
DP盘符整理 1.0.7.1 更新日志

解决一个已知问题
回复

使用道具 举报

3#
发表于 2021-3-24 22:03:54 | 只看该作者
谢谢不错的工具
回复

使用道具 举报

4#
发表于 2021-3-24 22:18:32 来自手机 | 只看该作者
半小时后的沙发

点评

板凳了:)  详情 回复 发表于 2021-3-25 19:47
回复

使用道具 举报

5#
发表于 2021-3-24 22:47:14 | 只看该作者
不错试试
回复

使用道具 举报

6#
发表于 2021-3-24 23:00:17 | 只看该作者
感谢分享!
回复

使用道具 举报

7#
发表于 2021-3-25 07:46:47 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

8#
发表于 2021-3-25 07:48:15 | 只看该作者
支持原创
回复

使用道具 举报

9#
发表于 2021-3-25 08:15:30 | 只看该作者
不错,支持
回复

使用道具 举报

10#
发表于 2021-3-25 08:27:56 | 只看该作者
感谢分享,盘符整理工具有好几个了
回复

使用道具 举报

11#
发表于 2021-3-25 08:37:26 | 只看该作者
简单实用
回复

使用道具 举报

12#
发表于 2021-3-25 14:40:01 | 只看该作者
谢谢不错的工具
回复

使用道具 举报

13#
发表于 2021-3-25 14:49:35 | 只看该作者
谢谢楼主分享
回复

使用道具 举报

14#
发表于 2021-3-25 19:47:35 来自手机 | 只看该作者
窄口牛 发表于 2021-3-24 22:18
半小时后的沙发

板凳了:)
回复

使用道具 举报

15#
 楼主| 发表于 2021-3-25 21:08:41 | 只看该作者
更新日志

之前测试的时候,有处括号忘记改过来了,导致在PE下倒序整理时,第一次正常,ACT/ESP分配盘符后,第二次打开将C吞掉导致仍需整理的问题,如果ACT/ESP本来就有盘符,也会受到影响。顺序模式和倒序模式ACT/ESP无盘符且整理一次的不受此bug影响,相信不会有人整理两次。
回复

使用道具 举报

16#
发表于 2021-3-25 21:14:46 | 只看该作者
谢谢楼主分享,辛苦了!
回复

使用道具 举报

17#
发表于 2021-3-27 20:26:14 | 只看该作者
试试看
回复

使用道具 举报

18#
发表于 2021-4-1 08:45:05 | 只看该作者
下载下来应用,谢谢大佬
回复

使用道具 举报

19#
发表于 2021-4-6 10:41:23 | 只看该作者
不是新系统别乱用
回复

使用道具 举报

20#
 楼主| 发表于 2021-4-18 14:52:38 | 只看该作者
smss 发表于 2021-4-18 13:44
盘符整理会把ESP、MSR分区分配盘符
而后边的引导分区工具时就会出问题 已重刷好几次机了
希望作者大大改 ...

ESP分区分配盘符我知道,因为本来就会分配,正常系统下不分配(有开关),PE下WinNTSetup会自动检测并使用该分区盘符。但是MSR分区分配盘符的情况我没遇到过,因为微软保留分区一般是不格式化的,也就是没有文件系统,无盘符无文件系统列表关键字的分区是不分配盘符的,除非有bug。

恢复分区会分配盘符的情况我知道,已在1.0.2测试版中修正,你正好帮忙测试下,一个人的力量有限。
注意:恢复分区正常情况下需要GPT ATTRIBUTES=0x8000000000000001设置属性,否则仍可能会分配盘符

正常系统下U盘ACT/ESP分区分配Z的问题,有开关可以自己修改(1.0.2已默认打开)

暂无固定U盘为U的计划,之前认真考虑过,貌似有用实则无用,特别是现在10系统默认显示优盘多分区,现在启动优盘一般都是多分区,正序整理就好,虽然对于本工具来说实现优盘多分区UVWYZ排列并非难事。


完善分区属性判断,增加全局开关“排除无盘符分区”

DP盘符整理_1.0.2.bat.7z

16.98 KB, 下载次数: 13

回复

使用道具 举报

21#
发表于 2021-4-18 18:51:45 来自手机 | 只看该作者
谢谢分享
回复

使用道具 举报

22#
 楼主| 发表于 2021-4-20 20:02:04 来自手机 | 只看该作者
smss 发表于 2021-4-20 18:19
以下这句在PE中使用要删除 (PE中好多都已精减 何况无须提权 有这句会闪退无限卡cmd窗口)
::自动请求以 ...

会吗?这句可是用了好多年,而我的哪个pe从来都没有支持过vbs。因为只有reg查询失败后才会执行后面的命令,而reg属于内置命令,pe又默认有权限,所以应该都正确。

个人不少情况会在正常系统中使用,不想删除这句,下个版本发布时我可以在帖子中注明,需要删除的可自行删除。
回复

使用道具 举报

23#
 楼主| 发表于 2021-4-20 20:04:56 来自手机 | 只看该作者
smss 发表于 2021-4-20 18:19
以下这句在PE中使用要删除 (PE中好多都已精减 何况无须提权 有这句会闪退无限卡cmd窗口)
::自动请求以 ...

我可以改为当系统盘盘符是C执行。
回复

使用道具 举报

24#
发表于 2021-4-27 14:39:25 | 只看该作者
软件急需的,支持下
回复

使用道具 举报

25#
 楼主| 发表于 2021-4-27 22:29:13 | 只看该作者
更新日志
1. 新增排除无盘符分区开关,默认关闭,开启后仅处理有盘符的分区,优先级高于mountactesp。
2. 现在默认打开ACT/ESP倒序分配模式排除USB设备开关,这样正常10系统U盘多分区按正序排列。
3. 解决部分已知问题。
回复

使用道具 举报

26#
发表于 2021-4-28 09:44:01 | 只看该作者
谢谢
回复

使用道具 举报

27#
发表于 2021-5-15 15:57:03 | 只看该作者

谢谢分享
回复

使用道具 举报

28#
发表于 2021-6-9 12:34:47 | 只看该作者
谢谢分享
回复

使用道具 举报

29#
发表于 2021-6-19 15:23:52 | 只看该作者
在PE下试了试,U盘是量产+Ventoy。Ventoy 启动PE的ISO ,进桌面手动启动盘符整理,U盘可见数据区盘符消失,分区不可见,Ventoy 启动隐藏区分配盘符,分区变为可见。

点评

截图上传看看  详情 回复 发表于 2021-6-19 15:29
回复

使用道具 举报

30#
 楼主| 发表于 2021-6-19 15:29:31 来自手机 | 只看该作者
本帖最后由 nttwqz 于 2021-6-19 15:40 编辑
lb9433 发表于 2021-6-19 15:23
在PE下试了试,U盘是量产+Ventoy。Ventoy 启动PE的ISO ,进桌面手动启动盘符整理,U盘可见数据区盘符消失, ...


截图上传看看
把"%temp%\dkltrsort.tmp"也传上来
回复

使用道具 举报

31#
发表于 2021-6-19 18:23:27 | 只看该作者
dkltrsort.rar (681 Bytes, 下载次数: 2)

整理前


整理后

点评

初步判断,这可能是信息识别错误,由于diskpart存在卷号错误等bug,批处理中可能未完全纠正,卷号5可能错误。 从dkltrsort看,VTOYEFI是一个14G的FAT分区,但是从图上看,其是一个32M的分区,当然,这以diskpart  详情 回复 发表于 2021-6-19 19:20
请上传批处理本身的截图,或者dpinfo的截图  详情 回复 发表于 2021-6-19 18:51
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-25 08:58

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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