无忧启动论坛

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

[已解决] 有办法用cmd批处理输入盘符后获取该分区所在硬盘的所有分区盘符么?

[复制链接]
跳转到指定楼层
1#
发表于 2023-6-30 20:07:54 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 yiyu2012 于 2023-7-2 03:58 编辑

有办法用cmd批处理输入盘符后获取该分区所在硬盘的所有分区盘符么?
2#
发表于 2023-6-30 20:12:22 | 只看该作者
估计需要用到 WMIC
回复

使用道具 举报

3#
发表于 2023-6-30 20:29:52 来自手机 | 只看该作者
5大的chkmbrpbr可以啊,我发的有帖子。
回复

使用道具 举报

4#
发表于 2023-6-30 20:32:47 | 只看该作者
本帖最后由 conlin888 于 2023-7-1 09:01 编辑

使用万能的PECMD:
set pf=C:

for /f "delims=" %%i in ('call pecmd.exe "Team/ part list drv %pf%,&pf/mstr * &pf=<-1>&pf/fdrv v=*:/forx * %%v%%,v,team part list drv %%v%%,v1|ifex '%%v1%%'='',!team@ mstr * v1=<-1>v1@ifex '%%v1%%'='%%&pf%%',set &u=%%&u%% %%v%%/mstr * &u=-1,-1,&u/writ *fv -,,&u"') do @echo %%i
pause

点评

感谢。  详情 回复 发表于 2023-7-1 03:13
回复

使用道具 举报

5#
发表于 2023-6-30 20:33:13 | 只看该作者
本帖最后由 caocaofff 于 2023-6-30 20:34 编辑

以下是chatGPT的回答:



是的,可以使用cmd批处理来获取指定分区所在硬盘的所有分区盘符。以下是一个示例的批处理脚本:

  1. @echo off
  2. setlocal enabledelayedexpansion

  3. set "drive=%~1"
  4. set "drive=!drive:~0,1!"

  5. for /f "skip=1 tokens=2 delims= " %%i in ('wmic logicaldisk where "drivetype=3" get deviceid^,volumename ^| findstr /i /r /c:"!drive![0-9]"') do (
  6.     echo %%i
  7. )

  8. endlocal
复制代码



将上述代码保存为一个批处理文件(例如get_partitions.bat),然后在命令提示符中运行以下命令:

get_partitions.bat C:

其中,C:是要查询的分区盘符。脚本将输出指定分区所在硬盘的所有分区盘符。
请注意,此脚本使用了WMIC命令来获取逻辑磁盘信息,并使用了正则表达式来筛选出指定分区所在硬盘的所有分区盘符。



点评

测试不可行。ChatGPT只是一个会网上找资料并总结方法的语言模式,并不会亲自运行脚本,甚至会找错资料和胡编乱造。  详情 回复 发表于 2023-7-1 03:12
回复

使用道具 举报

6#
发表于 2023-6-30 20:51:53 | 只看该作者
本帖最后由 610644034 于 2023-6-30 20:58 编辑

有什么不可以的!

捕获.PNG (99.71 KB, 下载次数: 146)

捕获.PNG
回复

使用道具 举报

7#
发表于 2023-6-30 22:28:15 | 只看该作者
  1. @echo off
  2. set "letter=c"
  3. for /f tokens^=3delims^=^"#^, %%i in ('wmic path Win32_LogicalDiskToPartition get Dependent^,Antecedent ^| findstr /ic:"DeviceID=\"%letter%:\""') do for /f tokens^=4delims^=^" %%i in ('wmic path Win32_LogicalDiskToPartition get Dependent^,Antecedent ^| find /i "Disk #%%i"') do echo,%%i
  4. pause
复制代码

点评

测试可行,感谢!  详情 回复 发表于 2023-7-1 03:08
回复

使用道具 举报

8#
 楼主| 发表于 2023-7-1 03:08:30 | 只看该作者

测试可行,感谢!
回复

使用道具 举报

9#
 楼主| 发表于 2023-7-1 03:12:58 | 只看该作者
本帖最后由 yiyu2012 于 2023-7-1 08:21 编辑
caocaofff 发表于 2023-6-30 20:33
以下是chatGPT的回答:

感谢。测试不可行。ChatGPT只是一个会网上找资料并总结方法的语言模型,并不会亲自运行脚本,甚至会找错资料和胡编乱造。

回复

使用道具 举报

10#
 楼主| 发表于 2023-7-1 03:13:43 | 只看该作者
conlin888 发表于 2023-6-30 20:32
使用万能的PECMD:
set pf=C:

感谢。
回复

使用道具 举报

11#
发表于 2023-7-1 10:47:06 | 只看该作者
本帖最后由 dos时代菜鸟 于 2023-7-1 22:38 编辑

diskpart 实现之。




找出兄弟盘符.7z (702 Bytes, 下载次数: 8)

点评

感谢!  详情 回复 发表于 2023-7-2 03:59
回复

使用道具 举报

12#
发表于 2023-7-1 13:21:14 | 只看该作者
可以存一块钱进银行然后获取银行所有的钱吗
回复

使用道具 举报

13#
发表于 2023-7-1 18:15:47 | 只看该作者
不借助第三方工具的情况下,wmic/diskpart/ps都可以做到,这个楼上几位已经回复过了。

若需要获得这个磁盘所有分区的更详细信息并利用相关变量做判断, 可以调用dpinfo来实现

简单来说,注释掉dpinfo中的启用变量延迟一行,改为在主脚本中启用,并确保利用变量之前没有endlocal,变量名没有冲突,否则dpinfo中的变量将无效,详见注释部分。
搜索脚本定制,删除中间所有内容,改为exit /b
  1. ::调用方法:
  2. call dpinfo.bat路径 >nul 2>nul
复制代码


附件是修改好的,仅供参考。

demo.7z

16.28 KB, 下载次数: 5, 下载积分: 无忧币 -2

点评

感谢!  详情 回复 发表于 2023-7-2 03:58
回复

使用道具 举报

14#
 楼主| 发表于 2023-7-2 03:58:51 | 只看该作者
nttwqz 发表于 2023-7-1 18:15
不借助第三方工具的情况下,wmic/diskpart/ps都可以做到,这个楼上几位已经回复过了。

若需要获得这个磁 ...

感谢!
回复

使用道具 举报

15#
 楼主| 发表于 2023-7-2 03:59:07 | 只看该作者

感谢!
回复

使用道具 举报

16#
发表于 2023-7-7 21:23:19 | 只看该作者
谢谢了
回复

使用道具 举报

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

本版积分规则

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

闽公网安备 35020302032614号

GMT+8, 2024-11-18 00:12

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

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