无忧启动论坛

 找回密码
 注册
搜索
系统gho:最纯净好用系统下载站广告联系 微信:wuyouceo QQ:184822951
楼主: dos时代菜鸟

diskpart shell ,用 pecmd 给 diskpart 做个外壳 2022.03.23 ver:1.28 改进

    [复制链接]
发表于 2022-1-6 05:34:11 来自手机 | 显示全部楼层
谢谢楼主更新,这两天天加班,有功夫试试
回复

使用道具 举报

发表于 2022-1-23 10:46:39 | 显示全部楼层
使用方便,超级厉害,喜欢,感谢分享
回复

使用道具 举报

 楼主| 发表于 2022-3-6 12:48:56 | 显示全部楼层
本帖最后由 dos时代菜鸟 于 2022-3-6 12:50 编辑

更新了一下。修复一处bug

2022.03.06
1.25.6
修正未分配空间计算的一处bug,主要表现为:当扩展分区全部空间被分配满,扩展分区与其后的主分区之间的未分配空间将不被显示。原算法,只考虑了 当 扩展分区 中有尚未被分配的空间时的情况。341,342 两行代码位置移出 find 段,即可解决此问题。

捕获.PNG
回复

使用道具 举报

 楼主| 发表于 2022-3-6 14:19:47 | 显示全部楼层
本帖最后由 dos时代菜鸟 于 2022-3-6 14:50 编辑

貌似 扩展分区 方面还是有点儿问题
原来  341 行那两行代码 移出 find{} 段以外,移多了, 这次重新来过了。
回复

使用道具 举报

 楼主| 发表于 2022-3-7 10:03:32 | 显示全部楼层
窄口牛 发表于 2019-3-29 17:57
搞点实际意义大些的,命令办不了的那些。

思来想去,唯独 这个 点选 未分配区域 并对其分区的 功能 ,勉强能算是 命令做不来的。
回复

使用道具 举报

发表于 2022-3-18 20:19:51 | 显示全部楼层
好东西,谢谢分享!
回复

使用道具 举报

发表于 2022-3-20 22:14:54 | 显示全部楼层
谢谢分享
回复

使用道具 举报

 楼主| 发表于 2022-3-23 10:46:02 | 显示全部楼层
1.26.0
增加 子vhd  向上合并功能
回复

使用道具 举报

 楼主| 发表于 2022-3-23 19:31:05 | 显示全部楼层
1.26.1 可以探测 子vhd 的上面十八级祖宗。
回复

使用道具 举报

发表于 2022-3-23 22:39:48 | 显示全部楼层
那个几百M的EFI启动分区,只能用DG分区创立外,还有什么软件创立?

点评

diskgen  详情 回复 发表于 2022-3-23 23:09
回复

使用道具 举报

 楼主| 发表于 2022-3-23 23:09:28 | 显示全部楼层
本帖最后由 dos时代菜鸟 于 2022-3-23 23:23 编辑
yesfei 发表于 2022-3-23 22:39
那个几百M的EFI启动分区,只能用DG分区创立外,还有什么软件创立?

diskgen 可以,我常用 diskpart 也 可以,
其实就是个 Fat32 的 正常分区,修改一下 id 成 efi  ,就 行了。
用本贴 中的 pecmd 脚本,更方便些
如图:

捕获.PNG
回复

使用道具 举报

 楼主| 发表于 2022-3-24 10:18:46 | 显示全部楼层
本帖最后由 dos时代菜鸟 于 2022-3-24 10:25 编辑

这个 是 集鼠标操作 与 键盘操作 于一身的 脚本。
鼠标 操作完,然后 是  是 显示 diskpart 指令,此时 仍然可以 在界面修改 指令集,最后 确定即可。
可以根据命令结果,判断 是否 成功。

最好有点儿 diskpart 使用经验的。
回复

使用道具 举报

 楼主| 发表于 2022-3-24 11:55:20 | 显示全部楼层
刚给 单文件版 增加了一个 附带参数  debug
如果附带次参数,将 显示 两个本该隐藏的 diskpart 窗口。虽然 指令结果已经被转移到某临时文件,但这两个窗口 可以看到 运行的指令。(对于使用者,其实没啥大用。)
回复

使用道具 举报

 楼主| 发表于 2022-3-24 19:15:24 | 显示全部楼层
刚在 中文 Win10 中 安装了个 英文语言包,设置语言默认英文,然后 运行单文件版。
发现 代码页 还是 936 而 diskpart 运行时调用的却是英文。导致程序按照 中文关键字 搜索磁盘信息失败。
所以 ,修正了一下判断 diskpart 语言环境的 语句,即使 diskpart 调用的是 英文字典文件,也可以正常获取磁盘信息。
回复

使用道具 举报

 楼主| 发表于 2022-3-25 13:59:16 | 显示全部楼层
vhd 查祖宗 功能,有时还是有些用处的。比如 expand 扩展vhd 大小时,就必须用这个确定 最顶层 vhd 是哪一个。
在 合并的时候 ,也能确定到底 合并到第几级。

1.PNG
2.PNG

点评

不如改为查祖宗十八代。。。  详情 回复 发表于 2022-3-25 14:25
回复

使用道具 举报

发表于 2022-3-25 14:25:33 来自手机 | 显示全部楼层
dos时代菜鸟 发表于 2022-3-25 13:59
vhd 查祖宗 功能,有时还是有些用处的。比如 expand 扩展vhd 大小时,就必须用这个确定 最顶层 vhd 是哪一 ...

不如改为查祖宗十八代。。。

点评

可以有  详情 回复 发表于 2022-3-25 17:08
回复

使用道具 举报

 楼主| 发表于 2022-3-25 17:08:16 来自手机 | 显示全部楼层
nttwqz 发表于 2022-3-25 14:25
不如改为查祖宗十八代。。。

可以有
回复

使用道具 举报

 楼主| 发表于 2022-3-26 12:47:59 | 显示全部楼层
考虑 把双 diskpart 引擎 变为 单 diskpart .
当初考虑 双 diskpart 进程,是因为 读取 临时文件 获取 diskpart 返回信息的 方法 效率低,后来用到 getf 函数,文件体积 与 读取信息 几乎没啥影响。用两个 Diskpart 进程,反而占用了10M 的内存。除了 当用户中断操作时,能够更快切换 diskpart 进程以外,没啥优势。
回复

使用道具 举报

发表于 2022-3-26 18:58:06 | 显示全部楼层
“查祖宗”专业软件用不专业的词汇感觉就不太专业了。

点评

那。。。么。。。换个啥名词好呢?  详情 回复 发表于 2022-3-26 19:06
回复

使用道具 举报

 楼主| 发表于 2022-3-26 19:06:54 | 显示全部楼层
freesoft00 发表于 2022-3-26 18:58
“查祖宗”专业软件用不专业的词汇感觉就不太专业了。


那。。。么。。。换个啥名词好呢?

点评

“溯源”两个字足矣  详情 回复 发表于 2022-3-26 19:26
回复

使用道具 举报

发表于 2022-3-26 19:26:36 | 显示全部楼层
dos时代菜鸟 发表于 2022-3-26 19:06
那。。。么。。。换个啥名词好呢?

“溯源”两个字足矣

点评

好的,已经 更新 到 1.27.1 版  详情 回复 发表于 2022-3-26 19:46
en “查祖宗”这个感觉不雅  详情 回复 发表于 2022-3-26 19:33
回复

使用道具 举报

发表于 2022-3-26 19:33:34 | 显示全部楼层
527104427 发表于 2022-3-26 19:26
“溯源”两个字足矣

en
“查祖宗”这个感觉不雅
回复

使用道具 举报

 楼主| 发表于 2022-3-26 19:46:35 | 显示全部楼层
527104427 发表于 2022-3-26 19:26
“溯源”两个字足矣

好的,已经 更新 到 1.27.1 版

点评

1.27进不去了,win7 64bit [attachimg]498473[/attachimg]  详情 回复 发表于 2022-3-26 21:42
回复

使用道具 举报

发表于 2022-3-26 21:42:21 | 显示全部楼层
dos时代菜鸟 发表于 2022-3-26 19:46
好的,已经 更新 到 1.27.1 版

1.27进不去了,win7  64bit

1.png

点评

怀疑 pecmd 的 exec指令的 管道 功能 在 win7 下 有问题。 但还需要 进一步 研究下。我需要弄个 win7 虚拟机。  详情 回复 发表于 2022-3-26 21:57
1、带 debug 参数 试试 2、1楼有个 1.26.7 版的,不知道 能进不  详情 回复 发表于 2022-3-26 21:47
回复

使用道具 举报

发表于 2022-3-26 21:46:55 | 显示全部楼层
*和#代表什么意思?

星号和井号代表什么意思?

星号和井号代表什么意思?

点评

hid 列 的 # 表示分区类别决定的影藏属性,* 表示 可以设定改变的隐藏属性 act 列 的 * 表示这个分区是 mbr上的 激活分区,或者是 gpt 上的 esp 引导分区。  详情 回复 发表于 2022-3-26 21:55
回复

使用道具 举报

 楼主| 发表于 2022-3-26 21:47:14 | 显示全部楼层
527104427 发表于 2022-3-26 21:42
1.27进不去了,win7  64bit

1、带 debug 参数 试试 ,看能调用 diskpart 进程不。
2、1楼有个 1.26.7 版的,不知道 能进不
回复

使用道具 举报

 楼主| 发表于 2022-3-26 21:55:59 | 显示全部楼层
本帖最后由 dos时代菜鸟 于 2022-3-26 21:58 编辑
yesfei 发表于 2022-3-26 21:46
*和#代表什么意思?

hid 列 的 # 表示分区类别决定的隐藏属性,* 表示 可以设定改变的隐藏属性
act 列 的 * 表示这个分区是 mbr上的 激活分区,或者是 gpt 上的 esp 引导分区。
回复

使用道具 举报

 楼主| 发表于 2022-3-26 21:57:00 | 显示全部楼层
527104427 发表于 2022-3-26 21:42
1.27进不去了,win7  64bit

怀疑 pecmd 的 exec指令的 管道 功能 在 win7 下 有问题。
但还需要 进一步 研究下。我需要弄个 win7 虚拟机。

点评

1.26正常,1.27带debug闪一下diskpart窗口,自动关闭了,然后无限计时  详情 回复 发表于 2022-3-26 22:07
回复

使用道具 举报

发表于 2022-3-26 22:07:37 | 显示全部楼层
dos时代菜鸟 发表于 2022-3-26 21:57
怀疑 pecmd 的 exec指令的 管道 功能 在 win7 下 有问题。
但还需要 进一步 研究下。我需要弄个 win7 虚 ...

1.26正常,1.27带debug闪一下diskpart窗口,自动关闭了,然后无限计时

点评

实锤 是 pecmd 的 exec| 管道指令在 win7 下失灵。 或许需要 另外的写法。  详情 回复 发表于 2022-3-26 22:17
回复

使用道具 举报

 楼主| 发表于 2022-3-26 22:17:18 | 显示全部楼层
本帖最后由 dos时代菜鸟 于 2022-3-27 00:24 编辑
527104427 发表于 2022-3-26 22:07
1.26正常,1.27带debug闪一下diskpart窗口,自动关闭了,然后无限计时

实锤  是 pecmd 的 exec| 管道指令在 win7 下失灵。
或许需要 另外的写法。
增加一个 参数,原来需要 Exec| -io 且必须通过 cmd 调用 pecmd 才可以了

点评

OK了  详情 回复 发表于 2022-3-27 11:37
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-3-28 22:54

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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