无忧启动论坛

 找回密码
 注册
搜索
最纯净的「微PE装机优盘」UEPON大师作品系统gho:最纯净好用系统下载站数据恢复、数据保护、视频编辑
Win To Go 极致利器(IXUNCIS固态U盘)虚位以待广告联系 QQ:184822951 微信:wuyouceo
楼主: dos时代菜鸟

diskpart 外壳脚本 简体中文版和英文版 Ver9.0

    [复制链接]
 楼主| 发表于 2018-6-5 22:34:21 | 显示全部楼层
本帖最后由 dos时代菜鸟 于 2018-6-5 23:36 编辑
liangyi 发表于 2018-6-5 22:17
其实我想表达的是,在7.97版的基础上能否这样调整,这样会不会辨识好点,编程小白+强迫症只能给 ...

按照你的 列表模式,如果 要删除 一个 没有 vol 号码的 分区,你让用户输入什么 定位到 它?
如果 扩展分区 hd:p 都用 * 了,你让程序 怎么定位 这个 扩展分区的位置,当要删除 这个扩展分区的时候 怎么办?


hd:p  用于表示 分区 或 硬盘 的特征的,没有 冒号表示 是一个盘,有冒号 表示是 第几个硬盘的第几个分区。 是不能为  * 的
vol 是系统给的,如果为 * 说明 是  分区 却不能被  win 加载盘符,也就是 被脚本 识别为 part ,比如 linux 下的 分区
ltr 也是系统给的 ,如果为 * 说明 现在还没 分配到盘符,如果 是系统不能加载 的分区,肯定 ltr=*
Num 是 脚本按顺序分配的 序列表中唯一 标识号,没有重叠 又 易于通过 小键盘输入。在脚本中 可以快速通过 Num 号码定位用户所选并明确 焦点特征。

你说的 目的 我明白了,程序中也 做了 拦劫处理,如果 你 选择的 焦点 不支持你要做的动作,就 退回。

很多时候,人们都习惯了 输入 焦点 天然标识号,但是 往往与其他 焦点 标识号重叠,不唯一,或者 较为复杂。或者你的 焦点 没有天然 标识
比如,
当要输入 分区或者卷 的时候 往往习惯输入 系统给定的 vol 或者盘符, 但是 ,有的分区是没有 vol  和盘符的。
当要输入 硬盘,往往习惯输入 系统 给定的 #n 硬盘号。
而,vol 号 与 disk#n 号 是有重复的 不唯一的。或者 焦点 分区根本没有 vol

个人认为,让用户 输入一个 易于输入,又便于检索,便于程序 调用的 数据标识 是最明智的。
也曾经考虑过用 hd:p 作为 检索输入标识,但是 在定位 数据行上,脚本编辑要 多废几行笔墨,进而会影响效率。而且 hd:p 的格式 需要做特定处理, 不能直接参与 if 语句中 数字对比 运算。

按照你的 列表模式,无疑要 增加 程序编辑 的 成本,而且存在 逻辑漏洞。


点评

之前以为vol也是程序罗列的参数,所以才有此一想法欠考虑了;正如 freesoft00 所说,个人也感觉 8.00这样显示更乱,还不如保持原来的7.9那样显示  详情 回复 发表于 2018-6-6 10:01
8.00这样显示更乱。 感觉还不如原来的 硬盘分区序列 DiskPart:D:_6.1.7601,脚本:D: ------------------------------------------------------  详情 回复 发表于 2018-6-6 09:26
回复

使用道具 举报

发表于 2018-6-6 09:26:50 | 显示全部楼层
dos时代菜鸟 发表于 2018-6-5 22:34
按照你的 列表模式,如果 要删除 一个 没有 vol 号码的 分区,你让用户输入什么 定位到 它?
如果 扩展 ...

8.00这样显示更乱。
感觉还不如原来的



                          硬盘分区序列                                  DiskPart:D:_6.1.7601,脚本:D:
---------------------------------------------------------------------------------------------------------
HDn  Pn  Vol  HD:P_  LTR   Fs       Size   Label         类型_偏移_活动_状态_信息
   1 --------   0     ---  -----  --------  ------------  Disk#0.0B/30GB.Bas.MBR.联机..(VMware, VMware V...SCSI Disk Device)
   |   2    9   0:1    C   NTFS      20 GB  系统盘符C         主要.1024KB.是.正常.系统
   |   3   10   0:2    D   NTFS       9 GB                主要.20GB.否.正常.
   4 --------   1     ---  -----  --------  ------------  Disk#1.1024KB/20GB.Dyn.MBR.联机..(VMware, VMware V...SCSI Disk Device)
   |   5    *   1:1    *             19 GB                动态数据.31KB.否
   6 --------   2     ---  -----  --------  ------------  Disk#2.0B/1200GB.Dyn.GPT.联机..(VMware, VMware V...SCSI Disk Device)
   |   7    6   2:1    *   NTFS     500 MB                恢复.1024KB.晕.正常.已隐藏
   |   8    7   2:2    *   FAT32    100 MB                系统.501MB.晕.正常.已隐藏
   |   9    *   2:3    *           1024 KB                动态保留.601MB.晕
   |  10    *   2:4    *            127 MB                保留.602MB.晕
   |  11    4   2:5    H   NTFS    1199 GB  GPT磁盘的第一个分区   动态数据.729MB.晕.正常.
  12 --------   3     ---  -----  --------  ------------  Disk#3.3072KB/1024GB.Bas.MBR.联机.可扩展.(D:\tools\rsload....-1.12.4\win8.vhd
)
   |  13   11   3:1    L   NTFS      80 GB  系统            主要.1024KB.是.正常.
   |  14   12   3:2    O   NTFS     189 GB  软件            主要.80GB.否.正常.
   |  15   13   3:3    N   NTFS     189 GB  文档            主要.269GB.否.正常.
   |  16    *   3:0    *            565 GB                扩展的.458GB.否
   |  17   14   3:4    M   NTFS     189 GB  娱乐            逻辑.458GB.否.正常.
   |  18   15   3:5    P   NTFS     189 GB  办公            逻辑.647GB.否.正常.
   |  19   16   3:6    Q   NTFS     187 GB  备份            逻辑.836GB.否.正常.
---------------------------------------------------------------------------------------------------------
---当前焦点:Num=  ;  HD:P=

---主菜单------------------------------------------------------------------------------------------------
   L.装卸盘符              D.删除分区               C.创建分区              F.格式化分区
   V.活动分区              Z.调整分区大小           S.清除某硬盘所有分区    T.初始化某硬盘分区形式
   R.刷新列表                                       M.特别说明              X.退出
---------------------------------------------------------------------------------------------------------
---请选择一个操作:___


liangyi 图片上的是挺清晰的。但是批处理不好对齐处理。还不如保持原来的那样7.9那样式的。
回复

使用道具 举报

发表于 2018-6-6 09:42:45 | 显示全部楼层
本帖最后由 freesoft00 于 2018-6-6 09:48 编辑

   |  19   16   3:6    *   RAW      187 GB                逻辑.836GB.否.正常.
---------------------------------------------------------------------------------------------------------
---当前焦点:Num=  ;  HD:P=

---主菜单------------------------------------------------------------------------------------------------
   L.装卸盘符              D.删除分区               C.创建分区              F.格式化分区
   V.活动分区              Z.调整分区大小           S.清除某硬盘所有分区    T.初始化某硬盘分区形式
   R.刷新列表                                       M.特别说明              X.退出
---------------------------------------------------------------------------------------------------------
---请选择一个操作:___

创建分区,创建后没有格式化,一般创建的时候顺带就格式化了。win系统中一般就选择ntfs、fat、exfat几种格式。要不,创建分区后是raw格式,还需要再次选择格式化,比较麻烦。就是创建选项中再添加上格式化的选项,一次性就完成了。


初始化磁盘,默认是GPT,相对目前用的mbr还是比较多,感觉设置为mbr为默认值比较好。

格式化的时候,如果不设置卷标卷标应该是空的,什么也没有。目前如果不设置卷标卷标是Unknow


回复

使用道具 举报

发表于 2018-6-6 10:01:15 | 显示全部楼层
dos时代菜鸟 发表于 2018-6-5 22:34
按照你的 列表模式,如果 要删除 一个 没有 vol 号码的 分区,你让用户输入什么 定位到 它?
如果 扩展 ...

之前以为vol也是程序罗列的参数,所以才有此一想法欠考虑了;正如 freesoft00 所说,个人也感觉
8.00这样显示更乱,还不如保持原来的7.9那样显示
回复

使用道具 举报

 楼主| 发表于 2018-6-6 10:10:48 | 显示全部楼层
脚本设计成 录入一次,就能确定 一个 焦点目标,如果按照  liangyi 的样式,势必需要 录入两次才能确定 一个 分区,要先明确 硬盘,再 明确 分区,这样操作 也繁琐。

正在考虑 修改  check_l ,实现可以 通过 输入 hd.p  明确焦点。

至于创建分区以后 自动格式化,因为涉及到 明确创建的新分区的 hd.p 位置,还要判断 创建是否成功等细节,需要 diskpart 再次扫描 数据,反倒不如 直接手动 来的直接了。

其他的 改动 可以 改一下。
回复

使用道具 举报

 楼主| 发表于 2018-6-6 12:24:43 | 显示全部楼层
有的分区是不能格式化的,比如 msr保留分区 和 扩展分区。分区以后自动格式化 这事儿,还要 加个判断
回复

使用道具 举报

 楼主| 发表于 2018-6-6 13:12:03 | 显示全部楼层
8.11 新版已经放 1楼,
1、增加 创建分区后 可自动格式化 成制定格式
2、焦点输入 ,支持 通过 hd.p* 的方式 定位,也就是 在 hd.p 号码后面加个 * 星号
3、格式化 类型增加  exfat
4、增加 可以探测 要缩小的 分区的可缩小空间

点评

硬盘分区序列 DiskPart:D:_6.1.7601,脚本:D: ------------------------------------------------------------------------------------------------  详情 回复 发表于 2018-6-6 13:19
回复

使用道具 举报

发表于 2018-6-6 13:19:12 | 显示全部楼层
dos时代菜鸟 发表于 2018-6-6 13:12
8.11 新版已经放 1楼,
1、增加 创建分区后 可自动格式化 成制定格式
2、焦点输入 ,支持 通过 hd.p* 的 ...


                          硬盘分区序列                                  DiskPart:D:_6.1.7601,脚本:D:
---------------------------------------------------------------------------------------------------------
  Num  Vol  HD.P_  LTR   Fs       Size   Label         类型_偏移_活动_状态_信息
    1  ---   0     ---  -----     30 GB  /0B/          Disk#0Disk#0.Bas.MBR.联机..(VMware, VMware V...SCSI Disk Device)
    2    9   0.1    C   NTFS      20 GB  系统盘符C         主要.1024KB.是.正常.系统
    3   10   0.2    D   NTFS       9 GB                主要.20GB.否.正常.
    4  ---   1     ---  -----     20 GB  /1024KB/      Disk#1Disk#1.Dyn.MBR.联机..(VMware, VMware V...SCSI Disk Device)
    5    *   1.1    *             19 GB                动态数据.31KB.否
    6  ---   2     ---  -----   1200 GB  /0B/          Disk#2Disk#2.Dyn.GPT.联机..(VMware, VMware V...SCSI Disk Device)
    7    6   2.1    *   NTFS     500 MB                恢复.1024KB.晕.正常.已隐藏
    8    7   2.2    *   FAT32    100 MB                系统.501MB.晕.正常.已隐藏
    9    *   2.3    *           1024 KB                动态保留.601MB.晕
   10    *   2.4    *            127 MB                保留.602MB.晕
   11    4   2.5    H   NTFS    1199 GB  GPT磁盘的第一个分区   动态数据.729MB.晕.正常.
   12  ---   3     ---  -----   1024 GB  /22GB/        Disk#3Disk#3.Bas.MBR.联机.可扩展.(D:\tools\rsload....-1.12.4\win8.vhd)
   13   11   3.1    *   NTFS    1001 GB  Unknow        主要.1024KB.否.正常.
---------------------------------------------------------------------------------------------------------
---当前焦点:Num=  ;  HD.P=

---主菜单------------------------------------------------------------------------------------------------
   L.装卸盘符              D.删除分区               C.创建分区              F.格式化分区
   V.活动分区              Z.调整分区大小           S.清除某硬盘所有分区    T.初始化某硬盘分区形式
   R.刷新列表                                       M.特别说明              X.退出
---------------------------------------------------------------------------------------------------------
回复

使用道具 举报

发表于 2018-6-6 13:30:20 | 显示全部楼层
本帖最后由 freesoft00 于 2018-6-6 13:32 编辑

4、增加 可以探测 要缩小的 分区的可缩小空间
-------------------------------------------------------
既然增加了这个。扩展卷的时候是否有一个判断。判断可以扩展多少空间,是否可以扩展?
这个比较复制,windows默认只能扩展1分区后面的未分区空间,如果未分区空间在1分区前面就无法扩展。
主分区可以扩展主分区的,逻辑分区可以扩展逻辑分区的。但是不能主分区扩展逻辑分区的空间。这个是mbr磁盘的情况,因为gpt磁盘都是主分区没有这个限制。但是还是有未分区空间前后的问题。在前面的未分配空间无法扩展到后面的分区。
不好处理就算了。

点评

这方面 diskpart 很弱的  详情 回复 发表于 2018-6-6 14:45
回复

使用道具 举报

 楼主| 发表于 2018-6-6 14:45:06 | 显示全部楼层
freesoft00 发表于 2018-6-6 13:30
4、增加 可以探测 要缩小的 分区的可缩小空间
-------------------------------------------------------
...

这方面 diskpart 很弱的
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2020-9-23 10:30

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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