无忧启动论坛

标题: dpinfo 2.6.5 beta2 磁盘分区信息 分区相关工具定制脚本 [打印本页]

作者: nttwqz    时间: 2018-6-13 01:47
标题: dpinfo 2.6.5 beta2 磁盘分区信息 分区相关工具定制脚本
本帖最后由 nttwqz 于 2023-7-19 23:21 编辑



功能简介
        1. 显示磁盘及分区的相关信息。磁盘大小,名称、分区表类型、磁盘属性;分区大小、类型、可用空间、文件系统、分区属性、活动/ESP分区等等,支持非Windows文件系统识别(基于ID)
        2. 磁盘及分区的各种信息都并定义成了变量,方便定制修改涉及磁盘分区方面的脚本,实现各种用途,您只需要套用现成的变量就能写出功能强大的脚本,脚本末尾附有变量说明可供参考。
        3. dpinfo基于diskpart开发,WinPE下使用需要有diskpart组件,不需要任何第三方工具支持,仅支持Win7以上简体中文操作系统。仅具有获取磁盘、虚拟磁盘、分区、卷等信息的功能,并不会操作磁盘分区(删除、新建、格式化、清空等),目前尚未遇到获取信息就丢失数据的先例。
        4. 作者nttwqz尽可能的修复bug,哪怕是diskpart本身的bug,但仍然无法保证有瑕疵。有问题,请回帖反馈。
        5. 您基于本脚本定制的工具,可以用于商业用途,请您充分测试,以免发生灾难性后果,特别是涉及全自动分区类的工具,作者不会为此造成的任何损失负责,不放心不同意此条款的请勿使用。


基于dpinfo开发的工具
        1. DP盘符整理


diskpart已知问题

部分问题不一定会发生,但确实都遇到过




更新日志
        1. 解决部分已知问题


下载
dpinfo_2.6.4.7z (16.95 KB, 下载次数: 363)


测试版下载 2.6.5 beta2
dpinfo_2.6.5_beta_2.7z (16.34 KB, 下载次数: 32)

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

作者: 窄口牛    时间: 2018-6-13 06:50
必须支持,必须回帖
作者: q8155128    时间: 2018-6-13 08:17
大师就是牛.......

支持支持个.......
作者: q8155128    时间: 2018-6-13 08:17
窄口牛 发表于 2018-6-13 06:50
必须支持,必须回帖

牛牛......

你现在都不理俺里.......


作者: q8155128    时间: 2018-6-13 08:19
大师的GIF图是用的啥软件呢?????


作者: freesoft00    时间: 2018-6-13 08:19
回帖支持。
作者: rrscsm2000    时间: 2018-6-13 08:20
是么,真行哈!
作者: wsgdmzr    时间: 2018-6-13 08:23
感谢大师的熬夜劳作。
作者: wsgdmzr    时间: 2018-6-13 08:24
q8155128 发表于 2018-6-13 08:17
牛牛......

你现在都不理俺里.......

不至于哭成这个样子吧
作者: zhangmi    时间: 2018-6-13 08:26
大师,有个问题请教一下,我的电脑加载esp以后,不能操作这么解决,百度说是更改安全选项,但是家庭版没这个选择啊?
作者: 窄口牛    时间: 2018-6-13 08:39
这是论坛又不是QQ那样的聊天场景。gif是gifcam所录。
作者: 2010fzone    时间: 2018-6-13 09:15
感谢付出!      
作者: dos时代菜鸟    时间: 2018-6-13 09:20
本帖最后由 dos时代菜鸟 于 2018-6-13 10:15 编辑

请教 :能否确定 ,diskpart 识别为gpt  "系统" 的分区 Id 一定是  efi 的 c12a7328-f81f-11d2-ba4b-00a0c93ec93b 么?

真是代码简洁高效啊,这相当于把列表全都放到内存了。就是不知道 cmd 下 支持 存放多少内存。





我喜欢尽量减少 外部命令的调用,宁可 多用几行  for + if .比如

  1. echo %select%|findstr /r "^[0-9]*$" >nul 2>nul
  2. if not %errorlevel%==0 (

  3. )
复制代码
用下面这个,  可节省 调用 外部命令 findstr

  1. set /a select=%select%
  2. if %select% equ 0 (

  3. )
复制代码


可能是我 有 迂腐了,呵呵。


作者: freesoft00    时间: 2018-6-13 09:53
dos时代菜鸟 发表于 2018-6-13 09:20
能否确定 ,diskpart 识别为gpt  "系统" 的分区 Id 一定是  efi 的 c12a7328-f81f-11d2-ba4b-00a0c93ec93b  ...

应该是固定的。
https://baike.baidu.com/item/%E5 ... BA%E8%A1%A8/1956466
作者: dos时代菜鸟    时间: 2018-6-13 10:18
freesoft00 发表于 2018-6-13 09:53
应该是固定的。
https://baike.baidu.com/item/%E5%85%A8%E5%B1%80%E5%94%AF%E4%B8%80%E6%A0%87%E8%AF%8 ...

用  diskpart 的 SETID 可以 察觉到这个,但我还是不太确定,这下 明确了。
作者: nttwqz    时间: 2018-6-13 10:20
q8155128 发表于 2018-6-13 08:19
大师的GIF图是用的啥软件呢?????

好神奇,此软件基本每次发帖比有人问!

好像是gifcam
作者: 窄口牛    时间: 2018-6-13 10:41
主要是ta不仔细看,每次说了还要问。
作者: q8155128    时间: 2018-6-13 10:41
nttwqz 发表于 2018-6-13 10:20
好神奇,此软件基本每次发帖比有人问!

好像是gifcam

在外就是要多说多想多问嘛.......

大师又有什么大惊小怪的啦.......


作者: q8155128    时间: 2018-6-13 10:42
nttwqz 发表于 2018-6-13 10:20
好神奇,此软件基本每次发帖比有人问!

好像是gifcam

在外就是要多说多想多问嘛.......

大师又有什么大惊小怪的啦.......


作者: nttwqz    时间: 2018-6-13 11:01
dos时代菜鸟 发表于 2018-6-13 09:20
请教 :能否确定 ,diskpart 识别为gpt  "系统" 的分区 Id 一定是  efi 的 c12a7328-f81f-11d2-ba4b-00a0c9 ...

你不说我还真没考虑过还有其它ID一说,我不是简单看了下帮助

只是findstr用这顺手而已,如果替代不麻烦可以考虑,麻烦还是加文件简单。

话说,列表全部放内存了吗?我记得为何更方便分析调试,写入到文件了。。。
作者: 20121010168    时间: 2018-6-13 11:03
这个使用很方便啊
作者: dos时代菜鸟    时间: 2018-6-13 11:05
nttwqz 发表于 2018-6-13 11:01
你不说我还真没考虑过还有其它ID一说,我不是简单看了下帮助

只是findstr用这顺手而已,如果替代不麻烦 ...

最后一步 写入文件的。呵呵。
作者: dos时代菜鸟    时间: 2018-6-13 12:04
本帖最后由 dos时代菜鸟 于 2018-6-13 12:23 编辑


运行  diskpart 脚本 我现在都用
  1. type  脚本名 | diskpart
复制代码
的方式

因为  select 命令 没有 noerr 参数 如果选择错误 就会中断脚本。

我有个u盘 就是这样,select disk 到这个盘,diskpart 会自动选择 盘上的 partition ,而手动选,有选不上,说选择错误,结果 脚本运行就断了。

而  用 type 传递 就不会有这问题,而且 会将每个命令结果 用  "DISKPART> " 隔开,也便于查找命令结果,判断命令完成情况。可 通过对 输出文本流中 "DISKPART> "计数来 定位提取数据。
type 也是内部命令。


看效果

  1. ---脚本内容--------------------------------------
  2. select disk 4
  3. select part 1
  4. detail disk
  5. detail part
  6. detail vol

  7. ---用diskpart /s 运行脚本-----------------------------
  8. diskpart /s s.txt
  9. --------------------------------------------------------
  10. Microsoft DiskPart 版本 10.0.14393.0

  11. Copyright (C) 1999-2013 Microsoft Corporation.
  12. 在计算机上: DESKTOP-VS864R9

  13. 磁盘 4 现在是所选磁盘。

  14. 没有选择分区。

  15. Lenovo USB Flash Drive USB Device
  16. 磁盘 ID: 00000001
  17. 类型   : USB
  18. 状态 : 联机
  19. 路径   : 0
  20. 目标 : 0
  21. LUN ID : 0
  22. 位置路径 : UNAVAILABLE
  23. 当前只读状态: 否
  24. 只读: 否
  25. 启动磁盘: 否
  26. 页面文件磁盘: 否
  27. 休眠文件磁盘: 否
  28. 故障转储磁盘: 否
  29. 群集磁盘  : 否

  30.   卷 ###      LTR  标签         FS     类型        大小     状态       信息
  31.   ----------  ---  -----------  -----  ----------  -------  ---------  --------
  32. * 卷     10    J   USB_FILES    FAT32  可移动         7660 MB  正常                 

  33. 没有选择分区。
  34. 请选择一个分区,再试一次。
  35. ------------------------------------------------------------------------------


  36. ----------用 type 把脚步传递个 diskpart 执行---------------
  37. type s.txt | diskpart
  38. -----------------------------------------------------------
  39. Microsoft DiskPart 版本 10.0.14393.0

  40. Copyright (C) 1999-2013 Microsoft Corporation.
  41. 在计算机上: DESKTOP-VS864R9

  42. DISKPART>
  43. 磁盘 4 现在是所选磁盘。

  44. DISKPART>
  45. 没有选择分区。

  46. DISKPART>
  47. Lenovo USB Flash Drive USB Device
  48. 磁盘 ID: 00000001
  49. 类型   : USB
  50. 状态 : 联机
  51. 路径   : 0
  52. 目标 : 0
  53. LUN ID : 0
  54. 位置路径 : UNAVAILABLE
  55. 当前只读状态: 否
  56. 只读: 否
  57. 启动磁盘: 否
  58. 页面文件磁盘: 否
  59. 休眠文件磁盘: 否
  60. 故障转储磁盘: 否
  61. 群集磁盘  : 否

  62.   卷 ###      LTR  标签         FS     类型        大小     状态       信息
  63.   ----------  ---  -----------  -----  ----------  -------  ---------  --------
  64. * 卷     10    J   USB_FILES    FAT32  可移动         7660 MB  正常                 

  65. DISKPART>
  66. 没有选择分区。
  67. 请选择一个分区,再试一次。

  68. DISKPART>
  69.   磁盘 ###  状态           大小     可用     Dyn  Gpt
  70.   --------  -------------  -------  -------  ---  ---
  71. * 磁盘 4    联机             7660 MB      0 B         

  72. 只读                   : 否
  73. 隐藏                   : 否
  74. 没有默认驱动器号       : 否
  75. 卷影副本               : 否
  76. 脱机                : 否
  77. BitLocker 已加密       : 否
  78. 可安装            : 否

  79. 卷容量                 : 7645 MB
  80. 卷可用空间             : 3395 MB

  81. DISKPART>
复制代码

选不了那个分区,可 list part 的时候 却 加了 *
  1. DISKPART> select disk 4

  2. 磁盘 4 现在是所选磁盘。

  3. DISKPART> list part

  4.   分区 ###       类型              大小     偏移量
  5.   -------------  ----------------  -------  -------
  6. * 分区      1    主要                7660 MB      0 B

  7. DISKPART>
复制代码




作者: wdtx    时间: 2018-6-13 12:17
非常实用的工具,希望增加挂载盘符读写ESP分区功能,谢谢。
作者: dos时代菜鸟    时间: 2018-6-13 12:25
wdtx 发表于 2018-6-13 12:17
非常实用的工具,希望增加挂载盘符读写ESP分区功能,谢谢。

读写 某个卷 的 软件 有很多,个人认为 楼主 只要 提供 挂盘符 功能就足够了。其他的 用户自己选择。

作者: Anson4    时间: 2018-6-13 12:37
本帖最后由 Anson4 于 2018-6-13 12:38 编辑

请问 findstr fsutil 需要什么版本?
正常系统英文版 Windows 10 1803,运行出现下图(管理员权限也是):

作者: freesoft00    时间: 2018-6-13 12:51
Anson4 发表于 2018-6-13 12:37
请问 findstr fsutil 需要什么版本?
正常系统英文版 Windows 10 1803,运行出现下图(管理员权限也是): ...

关键词使用的是中文名称,无法在英文系统中使用。
需要修改关键词。
作者: Anson4    时间: 2018-6-13 12:59
freesoft00 发表于 2018-6-13 12:51
关键词使用的是中文名称,无法在英文系统中使用。
需要修改关键词。

能不能做到与语言无关呢?
作者: dos时代菜鸟    时间: 2018-6-13 13:40
本帖最后由 dos时代菜鸟 于 2018-6-13 13:49 编辑
Anson4 发表于 2018-6-13 12:37
请问 findstr fsutil 需要什么版本?
正常系统英文版 Windows 10 1803,运行出现下图(管理员权限也是): ...


英文环境,怎么能在  cmd 下显示中文呢?
在脚本前端加入
  1. mode con: cp select=936
复制代码


难道是  diskpart 缺少  中文语言文件?
用这个 的 中文版 看看,能不能正常,如果能,就说明 是 diskpart 却语言文件导致的。
http://bbs.wuyou.net/forum.php?m ... &extra=page%3D1
作者: nttwqz    时间: 2018-6-13 13:56
本帖最后由 nttwqz 于 2018-6-13 14:01 编辑
dos时代菜鸟 发表于 2018-6-13 12:04
运行  diskpart 脚本 我现在都用   的方式

因为  select 命令 没有 noerr 参数 如果选择错误 就会中断 ...


没想到还有这样的妙用,type类似的妙用还真不少。有空了试一下,看那种判断更简洁好用。

我正好有这样的移动设备(TF卡),列表分区时自动选中分区,而且手动diskpart也无法选择分区,无法detail part,该问题上周已解决。

我和你的思路不同,我是用if来判断是不是*开头,第二个是不是“分区”,然后生成不同的diskpart脚本内容,直接detail disk,不选择分区(没法选),这样就不会有这样的情况了。

和上次编写不同,本次脚本并没有计数磁盘总数和各磁盘分区总数,我是在解析中生成磁盘索引表和各磁盘分区索引表,如果解析正确,那么磁盘和各分区排序顺序和diskpart一致,如果diskpart没有索引为3的硬盘,脚本执行结果中也不会有,分区顺序如果是1 0,那么最终也是这样显示的。

作者: freesoft00    时间: 2018-6-13 13:57
Anson4 发表于 2018-6-13 12:59
能不能做到与语言无关呢?

我想到的只是设置两套系统的不同关键词。
批处理先判断系统语言环境,然后根据环境使用不同的关键词作为变量值。这样两套系统都可以在一个批处理用。

作者: freesoft00    时间: 2018-6-13 13:59
Anson4 发表于 2018-6-13 12:37
请问 findstr fsutil 需要什么版本?
正常系统英文版 Windows 10 1803,运行出现下图(管理员权限也是): ...

就是呀。你的英文系统cmd能显示中文。是你设置了输入法的部分吧。我记着好像是设置了中文输入后中文的文本就可以显示正确了。
忘记是不是这个原因了。
作者: dos时代菜鸟    时间: 2018-6-13 14:09
本帖最后由 dos时代菜鸟 于 2018-6-13 15:08 编辑
nttwqz 发表于 2018-6-13 13:56
没想到还有这样的妙用,type类似的妙用还真不少。有空了试一下,看那种判断更简洁好用。

我正好有这 ...

detail disk 获取 vol 信息没有问题,但是 怎么来获取 是否 是 active 呢?
如果涉及到 要 select part 的操作可能就不灵了,比如删除分区,不过我没试过 通过 select vol 选中焦点 再delete part 是否会成功.
所以我还是 要做个判断 是否 select part 成功了,如果没成功,就要做个标记,以后 对这个 卷的操作 不能通过 select part 的方式获取焦点。

刚测试,不能被 select part 的分区 只能进行 格式化和分配盘符,其他的都不行,删除、调整大小的都不行,但是 win10 下用 diskpart 干掉该盘全部分区以后新建一个 分区,offset 默认是 1024k ,新建分区就可以 被 select part 了。 不知道以前那个 不能被 select part 的分区是怎么来的,现在没有了,还没办法测试了。呵呵。


如果只是通过  list part 获取 part 信息,可以 用 去掉 整行第一个字符后获得的字符串参与 for 运算,就不用另写判断语句了。不管他有没有 * 都 踢掉了。就是要外面在包裹一层 for 而已。 不然 单独再来一套 命令,会降低效率。
  1. for /f "delims=" %%x in ('type !dpscript! ^|diskpart') do (
  2.   set "lx001=%%x"
  3.   if "!lx001:~0,1!"=="*" set "lx001= !lx001:~1!"
  4. for /f "tokens=1,2" %%a in ("!lx001!") do (
  5.      echo ...
  6.   )
  7. )
复制代码




作者: 有阴也有阳    时间: 2018-6-13 14:55
无忧启动论坛在批处理上除五大等少数人外你是最牛的!赞一个!!!
作者: bjlbjl    时间: 2018-6-13 15:14
回帖支持
作者: dos时代菜鸟    时间: 2018-6-13 15:15
freesoft00 发表于 2018-6-13 13:57
我想到的只是设置两套系统的不同关键词。
批处理先判断系统语言环境,然后根据环境使用不同的关键词作为 ...

我也是这个思路,但是批处理毕竟是给不同语言的人用的,需要人类语言交互的。还是要用 语言 在界面上显示信息告诉 用户的,就是 这部分 交互文字 翻译起来费劲。
跟 电脑交流的 需要几个词 就 记载几个词也就是了。
我的那个  diskpart 的 cmd 中文版是可以 在 英文cp=437 环境下 准确生成列表的,关键是 给人看的 还有 主菜单、提示语等等。这些玩意儿不翻译也不行啊。

作者: freesoft00    时间: 2018-6-13 17:00
dos时代菜鸟 发表于 2018-6-13 15:15
我也是这个思路,但是批处理毕竟是给不同语言的人用的,需要人类语言交互的。还是要用 语言 在界面上显示 ...


英文好的也没有人愿意去翻译这些。玩的人少。
英文不好没有办法。我都是谷歌、百度、bing来回翻译的。
bing翻译成英文,然后英文复制到百度看是否能正确翻译成中文,然后再到谷歌试试是否能正确翻译成中文。
然后再反复,到谷歌翻译成英文,然后再到其它翻译网址测试翻译的英文。
反复修改。
不过有些语句或者此翻译不好或者不准确。
作者: Anson4    时间: 2018-6-13 17:16
freesoft00 发表于 2018-6-13 17:00
英文好的也没有人愿意去翻译这些。玩的人少。
英文不好没有办法。我都是谷歌、百度、bing来回翻译的。 ...

显示出来的东西是什么语言能否看懂那只是问题之一,最重要的是必须能准确地生成相关信息。
现状是在英文环境下批处理工作都不正常了。
作者: nttwqz    时间: 2018-6-13 17:20
Anson4 发表于 2018-6-13 17:16
显示出来的东西是什么语言能否看懂那只是问题之一,最重要的是必须能准确地生成相关信息。
现状是在英文 ...

现在尚没有精力考虑英文环境执行问题

而且 这东西写出来都是意淫,有几个外国老会用?
作者: Anson4    时间: 2018-6-13 17:21
freesoft00 发表于 2018-6-13 13:59
就是呀。你的英文系统cmd能显示中文。是你设置了输入法的部分吧。我记着好像是设置了中文输入后中文的文 ...

对于多语言环境,有专门的设置:


作者: Anson4    时间: 2018-6-13 17:23
nttwqz 发表于 2018-6-13 17:20
现在尚没有精力考虑英文环境执行问题

而且 这东西写出来都是意淫,有几个外国老会用?

其实不一定是老外,在国内外资公司的办事处基本都要求用英文系统。
作者: dos时代菜鸟    时间: 2018-6-13 19:58
Anson4 发表于 2018-6-13 17:23
其实不一定是老外,在国内外资公司的办事处基本都要求用英文系统。

老外里面搞 win 系统维护的 有多少?
搞系统维护的 用 diskpart 搞分区 又有多少?

作者: freesoft00    时间: 2018-6-13 20:27
dos时代菜鸟 发表于 2018-6-13 19:58
老外里面搞 win 系统维护的 有多少?
搞系统维护的 用 diskpart 搞分区 又有多少?

应该说现在还用dos的还有多少?
作者: Anson4    时间: 2018-6-13 20:27
dos时代菜鸟 发表于 2018-6-13 19:58
老外里面搞 win 系统维护的 有多少?
搞系统维护的 用 diskpart 搞分区 又有多少?

英文系统未必就是老外用,也未必就是老外维护。
这个没必要讨论下去,我也就是这么一说而已。
作者: promrhxq    时间: 2018-6-13 23:41
esp分区,这个是uefi必须的,支持楼主。。。
作者: chishingchan    时间: 2018-6-14 16:40
支持一下!弄这种东西就是费时。
作者: nttwqz    时间: 2018-6-14 22:53
zhangmi 发表于 2018-6-13 08:26
大师,有个问题请教一下,我的电脑加载esp以后,不能操作这么解决,百度说是更改安全选项,但是家庭版没这 ...

没那么麻烦,该分区不过需要管理员权限而已

只需任务管理器结束资源管理器(explorer.exe),然后以系统管理权限创建此任务即可正常浏览该分区

如果你觉得麻烦可以保存下面的命令为批处理文件,以管理员身份运行即可。

  1. taskkill /im explorer.exe /f && start explorer.exe
复制代码

作者: nttwqz    时间: 2018-6-14 23:58
dos时代菜鸟 发表于 2018-6-13 09:20
请教 :能否确定 ,diskpart 识别为gpt  "系统" 的分区 Id 一定是  efi 的 c12a7328-f81f-11d2-ba4b-00a0c9 ...

set /a 判断纯数字漏洞太多,你不妨试试 “5i” “5 i” 这样的情况,我尝试了一番之后才使用这个“比较简单的方式”,而且我之前还搜索了批处理之家,就这个代码短点儿

下面的for是神马情况?用引号作为分隔符,参数直接空格可以省略这我都知道,可是eol^=在引号外面就不明白了。这也是种判断方法

delims 解法示例:
  1. @echo off

  2. set "阿拉伯数字=0123456789"
  3. set "大写字母=ABCDEFGHIJKLMNOPQRSTUVWXYZ"
  4. set "小写字母=abcdefghijklmnopqrstuvwxyz"

  5. for /f "tokens=1*delims=%阿拉伯数字%%大写字母%%小写字母%"eol^= %%a in (
  6.    "#你的字符串#"
  7. ) do (
  8.    if %%b==# (echo 合法) else (echo 不合法)
  9. )

  10. pause
复制代码



作者: sakuraphoenix    时间: 2018-6-15 00:28
PE下总是得手动找ESP分区,有了这个工具就好了,感谢分享
作者: dos时代菜鸟    时间: 2018-6-15 08:12
本帖最后由 dos时代菜鸟 于 2018-6-15 09:18 编辑
nttwqz 发表于 2018-6-14 23:58
set /a 判断纯数字漏洞太多,你不妨试试 “5i” “5 i” 这样的情况,我尝试了一番之后才使用这个“比较 ...

还真是奇怪 的写法啊。需要研究学习下。

那个 意思好像是  明确 字符串中 除字母和数字以外的字符都是不合法的,包括 加减乘除符号、句号、逗号、分号等也是不合法的,任何一个数字、字母都可以是 文本流行内字段分隔符,而只截取被分割的两个字段


这样 如果 用户输入的 是一个 要 需要计算机 计算的 表达式呢? 还得 研究着 改改。
[attach]372975[/attach]

捕获.PNG (40.52 KB, 下载次数: 368)

捕获.PNG

作者: nttwqz    时间: 2018-6-15 09:44
dos时代菜鸟 发表于 2018-6-15 08:12
还真是奇怪 的写法啊。需要研究学习下。

那个 意思好像是  明确 字符串中 除字母和数字以外的字符都是 ...

他那方法我试过,别说表达式,就是特殊符号,比如^<>|都支持
作者: dos时代菜鸟    时间: 2018-6-15 20:48
本帖最后由 dos时代菜鸟 于 2018-6-15 22:40 编辑
nttwqz 发表于 2018-6-15 09:44
他那方法我试过,别说表达式,就是特殊符号,比如^|都支持

要是遇到 以 = 或 , 开头的,或者其他特殊符号开头的。 可能还是不行

干脆如下命令看看行不行吧。
  1. set /a x=运算表达式 2>nul || set /a x=0
复制代码


呵呵呵,感觉好像走弯路了。
作者: pznpt    时间: 2018-6-15 23:54
诈尸出来,支持一下!
作者: pznpt    时间: 2018-6-15 23:59
本帖最后由 pznpt 于 2018-6-16 00:01 编辑
nttwqz 发表于 2018-6-14 23:58
set /a 判断纯数字漏洞太多,你不妨试试 “5i” “5 i” 这样的情况,我尝试了一番之后才使用这个“比较 ...


eol^= 在这里应该是多余的。
在 %你的字符串% 前后加上一个 # 字符,一是防止 %你的字符串% 为空值而使得 do 语句不被执行,二是防止 %你的字符串% 出现以 ; 字符开头而使得 do 语句不被执行。

一般 for /f 写成这样子:
for /f "tokens=1* eol= delims=1234567890" %%a in ("%你的字符串%") do (...)
这样子貌似会忽略以空格开头的行,就是说 %你的字符串% 以空格开头,do 语句不会被执行。

我觉得改成这样可能会更好一点(输入双引号不会闪退):
@echo off
set /p str=输入数字:
for /f "tokens=1* delims=1234567890" %%a in ("#%str:"=""%#") do (
    if "%%b" == "#" (echo 纯数字) else (echo 非纯数字或空值)
)

作者: dos时代菜鸟    时间: 2018-6-16 06:56
本帖最后由 dos时代菜鸟 于 2018-6-16 09:33 编辑
pznpt 发表于 2018-6-15 23:59
eol^= 在这里应该是多余的。
在 %你的字符串% 前后加上一个 # 字符,一是防止 %你的字符串% 为空值而 ...

直接set /a 赋值,把反馈>nul,用errorlevel做判断,不成功就赋值成0 ,就完事儿了。
字符串合理的自然赋值成功,不合理的自然失败为0.


作者: pznpt    时间: 2018-6-16 09:51
dos时代菜鸟 发表于 2018-6-16 06:56
直接set /a 赋值,把反馈>nul,用errorlevel做判断,不成功就赋值成0 ,就完事儿了。
字符串合理的自然 ...

楼主好像是判断输入字符串是否为纯数字(digit),而不是判断是否为合法的数(number)。

-2, 0x3c, 3.14, 1.24560000e+005 这些都是合法的数,并不代表这些数就是纯数字。因为这些字符串里面含有非0-9字符。

set /a 100*2
虽然 ErrorLevel 为 0,但 100*2 这个字符串并不是纯数字

set /a 086
同样,虽然 ErrorLevel 为 1,但 086 这个字符串是纯数字
作者: 527104427    时间: 2018-6-16 10:06
pznpt 发表于 2018-6-16 09:51
楼主好像是判断输入字符串是否为纯数字(digit),而不是判断是否为合法的数(number)。

-2, 0x3c, 3.14, ...

好多年不见了,老兄还是一如既往地严谨啊!
作者: dos时代菜鸟    时间: 2018-6-16 10:07
pznpt 发表于 2018-6-16 09:51
楼主好像是判断输入字符串是否为纯数字(digit),而不是判断是否为合法的数(number)。

-2, 0x3c, 3.14, ...

他是要通过用户输入的数字参与下一步判断数字大小是否在范围内,比较大下这事儿,要求变量是数字。
作者: pznpt    时间: 2018-6-16 10:54
527104427 发表于 2018-6-16 10:06
好多年不见了,老兄还是一如既往地严谨啊!

呵呵,N久不逛论坛了,昨天想下载一个工具,就登陆了,顺便就回了一贴。

无忧还是老样子,向无忧的新老朋友问声好!
作者: pznpt    时间: 2018-6-16 10:55
dos时代菜鸟 发表于 2018-6-16 10:07
他是要通过用户输入的数字参与下一步判断数字大小是否在范围内,比较大下这事儿,要求变量是数字。

嗯,可能是我理解错了吧。
作者: nttwqz    时间: 2018-6-16 23:26
pznpt 发表于 2018-6-16 10:55
嗯,可能是我理解错了吧。

如果选项有1-10,那么除了1、2、3、4、5、6、7、8、9、10之外的都不合法,我需要这么判断。
作者: dos时代菜鸟    时间: 2018-6-17 15:36
nttwqz 发表于 2018-6-16 23:26
如果选项有1-10,那么除了1、2、3、4、5、6、7、8、9、10之外的都不合法,我需要这么判断。

那我建议就用 for /l 对用户输入数据做 ==  判断 ,不能用 数学比较大小的方法了。
作者: nttwqz    时间: 2018-6-17 16:12
本帖最后由 nttwqz 于 2018-6-17 16:35 编辑
dos时代菜鸟 发表于 2018-6-17 15:36
那我建议就用 for /l 对用户输入数据做 ==  判断 ,不能用 数学比较大小的方法了。


我也在考虑要不要用这种方法,毕竟这种方法一下子就把非选项中的判断出来了,而且即使字母列列表也可以用for。

今天一直在尝试提高脚本执行效率,但是却发现,分析结果其实过程很短,一般在1ms以内,但是diskpart执行脚本却基本在21ms左右,即使用管道和findstr也只不过多2ms左右。要是有什么方法,不用第三方软件,比如查注册表等获取实时的硬盘和分区编号(和diskpart中一样),那就可以一次diskpart获取到信息了。
作者: dos时代菜鸟    时间: 2018-6-17 16:44
nttwqz 发表于 2018-6-17 16:12
我也在考虑要不要用这种方法,毕竟这种方法一下子就把非选项中的判断出来了,而且即使字母列列表也可以 ...

第三方软件,可以考虑用 分区助手,一下 信息全来了。支持 命令行。
如果不用 分区助手,用 注册表,我没试过,估计都是基于  vol 的信息。或者用 vbs 也只是 到 扩展分区,扩展分区下的逻辑分区 就 都显示的 一个分区号上,而且 有的 pe 还没有 vbs . 毕竟 是要用  diskpart 做事情,信息采集 如果跟 diskpart 不一致就不好弄。

作者: dos时代菜鸟    时间: 2018-6-17 16:57
建议 把 vol 号 记录上,因为 有的分区 不能被 sele part 选择上,到时候 要分配盘符,就必须 sele vol 来定位它。
作者: nttwqz    时间: 2018-6-17 18:41
dos时代菜鸟 发表于 2018-6-17 16:57
建议 把 vol 号 记录上,因为 有的分区 不能被 sele part 选择上,到时候 要分配盘符,就必须 sele vol 来 ...

好说,多定义一个变量而已,已简单加入。



作者: dos时代菜鸟    时间: 2018-6-17 22:11
本帖最后由 dos时代菜鸟 于 2018-6-17 22:48 编辑
nttwqz 发表于 2018-6-17 18:41
好说,多定义一个变量而已,已简单加入。


突然想起一个事儿,不一定 用得到。

如果 你想在脚本中以后还用到 这个 表中的信息 ,比如截取 某个分区的 盘符 或者 vol 编号,那么 就会用到  
for /f "tokens=1-n " %%x in () do ()
这样 截取 某行 第几个单词 的问题,可是你有的 字段占位 是 空格的,这样,截取单词的时候就可能 截取到别的地方去了。除非你用 精准截取 字符串 中某几个 位置的 字符的方式来获取 想要的信息。

所以 我建议你 把没有内容的 空字段内容 用一个 字符代替之,比如 . * @ 之类的。以后判断上也方便,如果 截取到的是 特定的 字符,就说明 这个字段 没有可用信息。
当然,如果以后 不需要 通过这个表 截取数据 ,或者不用 for /f 的方式截取 字段单词 的话,也就无所谓了。


还有个 想法。
如果能 确定 硬盘分区结构 是 mbr 还是 gpt 的话, 就可以 将  act /esp 合一了,不用两列,gpt 结构不存在 act 的情况。另外 一个 gpt 硬盘可能 存在 多个 efi 分区。
作者: nttwqz    时间: 2018-6-17 23:29
本帖最后由 nttwqz 于 2018-6-17 23:58 编辑
dos时代菜鸟 发表于 2018-6-17 22:11
突然想起一个事儿,不一定 用得到。

如果 你想在脚本中以后还用到 这个 表中的信息 ,比如截取 某个 ...


  我猜,你应该没仔细看我的脚本,我的脚本功能简单,目前不足300行,不像你的已经快1000行了,还是容易看的,毕竟我这本身就没打算写成diskpart GUI,就算写成了,估计我自己都懒得用,因为有功能强大的DG和分区助手,除非迫不得已功能这两者没有。写此脚本的主要目的,是哪天万一我不想用WinntSetup了,自己写一个脚本代替,这个很明显是用来实现相关目的的,比如安装到哪个区,哪个是活动分区,多大,好有个列表能显示,所以,为esp分配盘符、设置活动分区应该会有,但是比如调整分区大小、GPT MBR互转是绝对不会有的,只要是不影响系统安装的应该不会加入。

  不知道你的意思是不是,如果以后需要列表中某个信息,还需要再次分析这个列表,然后提取?弄个占位符好提取,是这样吗?

  我这个表中的信息都是由变量组成,各种磁盘分区等信息都被定义成了变量,可以任意调用。


脚本中的常用变量解释:

!dkl!                                                磁盘编号列表(与diskpart相同)
!dk-磁盘编号-dpl!                        各磁盘分区编号列表(与diskpart相同)
!dk-磁盘编号-分区编号-vol!                卷标
!dk-磁盘编号-分区编号-ltr!                盘符
!dk-磁盘编号-分区编号-type!        类型
!dk-磁盘编号-分区编号-act!                激活、ESP
!dk-磁盘编号-分区编号-size!        大小
!dk-磁盘编号-分区编号-id!                文件系统、ID(后来已改成!dk-磁盘编号-分区编号-fs!

以后加其它信息的话,一般这样表示
!dk-磁盘编号-分区编号-该信息的常见英文!,一般取自diskpart
比如,偏移量就是!dk-磁盘编号-分区编号-offsize!(目前没有)

比如:

!dk-1-2-size!,,代表编号为0的磁盘,分区编号为2的分区的大小
!dkl!,如果有两个磁盘,diskpart列表磁盘显示0、1,那么值就是0 1
!dk-0-dpl!,磁盘0的分区列表,diskpart列表分区如果显示1、2、3、4,那么值就是1 2 3 4

有了磁盘编号列表和各磁盘分区编号列表,各种变量可以任意调用。


ACT ESP本身就是一列,不是两列!为了更直观显示中间加了个空格,ESP时!dk-磁盘编号-分区编号-act!的值有好几个空格,好让*显示在ESP下面,这样看起来像是两列,但是更容易区分ESP分区了,这样一般人都能看出来这个是GPT磁盘。
作者: dos时代菜鸟    时间: 2018-6-18 07:04
nttwqz 发表于 2018-6-17 23:29
  我猜,你应该没仔细看我的脚本,我的脚本功能简单,目前不足300行,不像你的已经快1000行了,还是 ...

明白了
作者: dos时代菜鸟    时间: 2018-6-18 07:33
nttwqz 发表于 2018-6-17 23:29
  我猜,你应该没仔细看我的脚本,我的脚本功能简单,目前不足300行,不像你的已经快1000行了,还是 ...

你也可以用@表示act.用 星豆 表示esp啊,这样就不用考虑要用空格错位显示了呀。
作者: nttwqz    时间: 2018-6-18 07:53
dos时代菜鸟 发表于 2018-6-18 07:33
你也可以用@表示act.用 星豆 表示esp啊,这样就不用考虑要用空格错位显示了呀。

目前并没有发现错位问题 因为我用了tab键,我倒是觉得你那后面显示不明了,但是你那信息显示太多,对其估计显示不下
作者: tegl    时间: 2018-6-18 08:57
支持原创,感谢分享~
作者: dos时代菜鸟    时间: 2018-6-18 11:38
nttwqz 发表于 2018-6-18 07:53
目前并没有发现错位问题 因为我用了tab键,我倒是觉得你那后面显示不明了,但是你那信息显示太多,对其估 ...

好吧好吧,呵呵,我那个,就不考虑了,信息量多了,能看出来就行了.
作者: nttwqz    时间: 2018-6-18 22:25
2.2发布,有时间精力的同志,请帮忙测试列表信息是否有错。
作者: 窄口牛    时间: 2018-6-19 07:05

作者: nttwqz    时间: 2018-6-19 07:18
本帖最后由 nttwqz 于 2018-6-19 07:26 编辑
窄口牛 发表于 2018-6-19 07:05


2.1是否正常?
能否编辑2.2的脚本,按里面说的方法上传文件呢?多谢!

也就是
反馈Bug请管理员cmd内执行diskpart /s "%temp%\dkdet.tmp">"%temp%\dkpdet.tmp",然后,截图结果并打包上传 "%temp%\dkdet.tmp";"%temp%\dkpdet.tmp"
作者: 窄口牛    时间: 2018-6-19 08:50
桌面.rar (1.34 KB, 下载次数: 3)
作者: chiannet    时间: 2018-6-19 09:04
作为练CMD很不错。

但就本文主题要实现的目标来说,显然PECMD 2012实现起来简便得多。
作者: nttwqz    时间: 2018-6-19 09:46
窄口牛 发表于 2018-6-19 08:50

多谢,我找了台试了一下,已发现问题

编辑脚本,搜索skip=6替换成skip=5试一下
作者: nttwqz    时间: 2018-6-19 10:07
chiannet 发表于 2018-6-19 09:04
作为练CMD很不错。

但就本文主题要实现的目标来说,显然PECMD 2012实现起来简便得多。

本来就是写着练手玩的,哈哈

一般的电脑没有pecmd,正常电脑上无法使用,而且我更愿意去学一门编程语言自己写程序,如果真出此类工具的话,不太喜欢使用pecmd,更何况,关键是我也不会。。。与其研究pecmd,还不如研究编程
作者: 窄口牛    时间: 2018-6-19 10:42
可以了,就是这个问题
作者: nttwqz    时间: 2018-6-19 10:47
本帖最后由 nttwqz 于 2018-6-19 10:49 编辑
窄口牛 发表于 2018-6-19 10:42
可以了,就是这个问题


多谢!

8.1的diskpart和7不一样,以后尽量会做各个环境下测试一下再发布
作者: chiannet    时间: 2018-6-19 11:15
本帖最后由 chiannet 于 2018-6-19 11:25 编辑
nttwqz 发表于 2018-6-19 10:07
本来就是写着练手玩的,哈哈

一般的电脑没有pecmd,正常电脑上无法使用,而且我更愿意去学一门编程语 ...


PART list volume ,VarName
ENVI #I=5
ENVI #J=2
ENVI #k=3
LOOP #%I%<10000,
{
        MSTR 分区类型=<%I%>%VarName%
        FIND $%分区类型%=,EXIT LOOP
        MSTR 设备号=<%J%>%VarName%
        MSTR 分区号=<%k%>%VarName%
        CALC #I=%I%+7
        CALC #J=%J%+7
        CALC #k=%k%+7
        FIND [$%分区类型%=C12A7328-F81F-11D2-BA4B-00A0C93EC93B $%分区类型%=239],
        {
                PART -DEVID LIST DISK %设备号%,DEVID0V2V
                MSTR 容量=<2>%DEVID0V2V%
                MSTR 总线=<9>%DEVID0V2V%
                MSTR 分区类型=<10>%DEVID0V2V%
                MSTR 设备名称=<12>%DEVID0V2V%
                MESS 找到的EFI分区有\n\n\n设  备  名  称:%设备名称%\n\n总          线:%总线%\n\n容          量:%容量%\n\n设备号__分区号:%设备号%__%分区号%\n\n分  区  类  型:%分区类型%-EFI
        }
}





作者: nttwqz    时间: 2018-6-19 14:35
chiannet 发表于 2018-6-19 11:15
PART list volume ,VarName
ENVI #I=5
ENVI #J=2

多谢指教,够简单!
作者: nttwqz    时间: 2018-6-19 15:27
本帖最后由 nttwqz 于 2018-6-19 15:28 编辑
窄口牛 发表于 2018-6-19 08:50


什么时候有空了能不能执行下2.21然后请管理员cmd内执行diskpart /s "%temp%\dkdet.tmp">"%temp%\dkpdet.tmp",你上次2.2里面的没这个文件,我想看一下你那2:4为什么显示ID而不是文件系统

dkpdet.tmp
作者: freesoft00    时间: 2018-6-20 04:04
列表有点小问题。
我的E盘分区而没有格式化。在列表中没有显示盘符,下面有你的和菜鸟的界面对比。
  NUM   HD:P    VOL     LTR     类型    ACT ESP 大小    FS/ID
  ---   ----    ---     ---     ------- --- --- ------- ------------------
   1    0:1      1       C      主要     *      29 GB   NTFS
   2    0:2      2       D      主要            22 GB   NTFS
   3    0:3      3              主要            8000 MB RAW


请选择(NUM):








                        MS DiskPart 分区管理                                          Ver:X9.12.7 ZH_CN
---------------------------------------------------------------------------------------------------------
Num Vol HD.P_ LTR FS/ID Offset   Free   Size Act Label        RW P.Type_V.Stat_Info_type/HD.Sta_Dyn_name....
   1 ---  0    --- ----- ------     0B   60GB MBR ------------ -- 联机_BAS_.[VMware, VMware Virtual S SCSI Disk Device]
   2   1  0.1   C  NTFS  1024KB   19GB   29GB  *  系统保留         RW 主要_正常_系统_磁盘分区.
   3   2  0.2   D  NTFS    29GB   22GB   22GB  .               RW 主要_正常_._磁盘分区.
   4   3  0.3   E  RAW     52GB 8000MB 8000MB  .               RW 主要_正常_._磁盘分区.
---------------------------------------------------------------------------------------------------------
作者: 窄口牛    时间: 2018-6-20 08:02
本帖最后由 窄口牛 于 2018-6-20 08:08 编辑

能显示了,2:4是ext4格式,我的有我心ext2fsd,没安装这个并且有ext分区的可能也不显示分区格式。


另外一个没有ext2fsd的系统下

作者: nttwqz    时间: 2018-6-20 08:07
freesoft00 发表于 2018-6-20 04:04
列表有点小问题。
我的E盘分区而没有格式化。在列表中没有显示盘符,下面有你的和菜鸟的界面对比。
  NUM ...

简单修改下,应该管用了,但是如果磁盘未分区,比如VHD,不初始化,什么都不会显示,以后改了

原因在于以前使用 if exist C:\判断是否有盘符,其实是能访问的盘符,现在用cd c:(没有\)来显示盘符,未格式化也能显示。

diskpartlist_2.22.rar

4.99 KB, 下载次数: 18, 下载积分: 无忧币 -2


作者: nttwqz    时间: 2018-6-20 08:11
窄口牛 发表于 2018-6-20 08:02
能显示了,2:4是ext4格式,我的有我心ext2fsd,没安装这个并且有ext分区的可能也不显示分区格式。

我说呢,我那ID应该没有EXT4这么准确的一项才对,我在想要不要把ext2fsd集成到PE里面。。。
作者: 窄口牛    时间: 2018-6-20 08:57
pe里有必要,可以省下linuxlive。
作者: freesoft00    时间: 2018-6-20 10:00
nttwqz 发表于 2018-6-20 08:07
简单修改下,应该管用了,但是如果磁盘未分区,比如VHD,不初始化,什么都不会显示,以后改了

原因在 ...

好了。
作者: ll520126427    时间: 2018-6-25 22:22
楼主,能单独写个确定esp分区盘符的吗?
作者: nttwqz    时间: 2018-6-25 23:24
ll520126427 发表于 2018-6-25 22:22
楼主,能单独写个确定esp分区盘符的吗?

什么意思?你是想要挂载ESP分区功能,还是仅仅显示ESP分区的盘符就好,其它不要?目前显示信息太多?你要知道,正常情况下,ESP分区是没有盘符的。。。
作者: ll520126427    时间: 2018-6-26 07:09
nttwqz 发表于 2018-6-25 23:24
什么意思?你是想要挂载ESP分区功能,还是仅仅显示ESP分区的盘符就好,其它不要?目前显示信息太多?你要 ...

     感谢楼主回复   只要像这样能将引导信息写入启动分区就行  
作者: freesoft00    时间: 2018-6-26 16:25
nttwqz 发表于 2018-6-25 23:24
什么意思?你是想要挂载ESP分区功能,还是仅仅显示ESP分区的盘符就好,其它不要?目前显示信息太多?你要 ...
  1.   NUM   HD:P    VOL     LTR     类型    ACT ESP 大小    FS/ID
  2.    ---   ----    ---     ---     ------- --- --- ------- ------------------
  3.    1    0:1      1       C      主要     *      29 GB   NTFS
  4.     2    0:2      2       D      主要            22 GB   NTFS
  5.     3    0:3      3              主要            8000 MB RAW
复制代码

列表以单位对齐是不是更整齐?你的现在是以数字开头对齐,dos菜鸟的是以单位从后面对齐的
作者: nttwqz    时间: 2018-6-26 17:42
freesoft00 发表于 2018-6-26 16:25
列表以单位对齐是不是更整齐?你的现在是以数字开头对齐,dos菜鸟的是以单位从后面对齐的

可以是可以,可是这样又要处理字符串,在其前面加空格,现在比较简单
作者: dos时代菜鸟    时间: 2018-6-26 22:35
本帖最后由 dos时代菜鸟 于 2018-6-26 23:04 编辑

不知道  detail part 里面的那个 隐藏 是啥定义.
对于 不能 sele part 的 分区,就只能 通过 sele vol 的方式 定位之,还不一定能 通过  detail part 的方式获得这个 数据.就要用 detail vol 的方式获取.
而对于 那些 不是 vol 的分区,比如 id=83 的,,又不能 sele vol 来定位之,又不能通过 detail vol  来获取 这个 隐藏与否的信息.就像下图,

这个隐藏与否的信息着实让人挠头.要是遇到 不能 被 sele part 而又不是 vol 的分区该咋整.
一般情况下,如果 不能被 sele part 的分区,通常都是 已经被 * 了的,估计 detail part 能直接获取到,但是如果这时候 detail part 前 sele part 了,就可能因为  sele part 失败而导致脚本 中断. 所以 我说 要用  type 把脚本 传递给  diskpart .而不是用  diskpart /s .
diskpart 大部分命令都有 考虑脚本中使用而 增加 noerr 的参数,但,唯独 select 命令没有 noerr 参数.
估计是 考虑到 任何操作前都必须 select 一个焦点,但是 他没考虑过 遇到 这种天生被  * 了而又不能 select 的分区.






作者: nttwqz    时间: 2018-6-27 14:16
dos时代菜鸟 发表于 2018-6-26 22:35
不知道  detail part 里面的那个 隐藏 是啥定义.
对于 不能 sele part 的 分区,就只能 通过 sele vol 的方 ...

DISKPART> list disk

  磁盘 ###  状态           大小     可用     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
* 磁盘 0    联机               59 GB  2031 KB        *
  磁盘 1    联机               59 GB      0 B

DISKPART> sel disk 1

磁盘 1 现在是所选磁盘。

DISKPART> list part

  分区 ###       类型              大小     偏移量
  -------------  ----------------  -------  -------
* 分区      1    主要                  59 GB      0 B

DISKPART> list vol

  卷 ###      LTR  标签         FS     类型        大小     状态       信息
  ----------  ---  -----------  -----  ----------  -------  ---------  --------
  卷     0     C                NTFS   磁盘分区          59 GB  正常         启

  卷     1                      FAT32  磁盘分区         128 MB  正常         系

  卷     2                      NTFS   磁盘分区         400 MB  正常         已
隐藏
  卷     3     D                NTFS   可移动           59 GB  正常


DISKPART> sel vol 3

卷 3 是所选卷。

DISKPART> detail vol

  磁盘 ###  状态           大小     可用     Dyn  Gpt
  --------  -------------  -------  -------  ---  ---
* 磁盘 1    联机               59 GB      0 B

只读                   : 否
隐藏                   : 否
没有默认驱动器号       : 否
卷影副本               : 否
脱机                : 否
BitLocker 已加密       : 否
可安装            : 否

卷容量                 :   59 GB
卷可用空间             :   23 GB

DISKPART>

隐藏的定义,这个要弄清楚估计要多搜一搜了,比如主楼的图,Win7系统盘C盘,有盘符也是隐藏的,我转换测试一下,动态磁盘所有分区都是隐藏的,也不知道是为什么,还有非Win分区,也不知是不是为了保护改分区,所以显示了隐藏,还是别的,反正diskpart里面就是这么显示的,我也只是按原样显示出来。

list part默认选中的分区,是无法detail partition的,要不然我就不会detail disk了,detail vol 有用的信息貌似也就大小、可用、隐藏、只读,其它意义不大,显示信息较少,还是detail part获取信息多,我如果使用的话,无疑会增加算法的复杂性,简单估计,貌似也只能在第一次diskpart中列表卷,然后提取相关信息,根据需要生效相关脚本,第二次执行中解析,这样各种信息掺杂在一起,提取更难了。。。
作者: dos时代菜鸟    时间: 2018-6-27 14:42
nttwqz 发表于 2018-6-27 14:16
DISKPART> list disk

  磁盘 ###  状态           大小     可用     Dyn  Gpt

diskpart 的这个 “是否隐藏”  的信息 真让人 糊涂。
detail disk 也弄不出来 某个分区的具体信息啊,卷 和 分区 的对应关系 又要自己 计算才能获得。
作者: nttwqz    时间: 2018-6-27 15:31
dos时代菜鸟 发表于 2018-6-27 14:42
diskpart 的这个 “是否隐藏”  的信息 真让人 糊涂。
detail disk 也弄不出来 某个分区的具体信息啊, ...

话说,分区大小和偏移量数字和空格单位是不是最长7位?我准备预留8位,目前看绰绰有余了。




欢迎光临 无忧启动论坛 (http://bbs.c3.wuyou.net/) Powered by Discuz! X3.3