我需要识别硬盘驱动器设备制造商ID的驱动器号(或者反之亦然,我也可以这样做)。
检索制造商ID的命令:
WMIC.exe DiskDrive Get /Format:List
示例输出(分割并格式化HTML实体):
PNPDeviceID=DISK&VEN_WDC_WD10&PROD_02FAEX-00Z3A0
检索驱动器号的命令:
WMIC.exe Volume Get /Format:List
示例输出:
DriveLetter=C:
问题是我找不到任何有用的属性,我可以从两个输出关联来进行查询,我的意思是我不知道如何处理制造商ID来搜索每个ID的驱动器号,我看不出任何方法来识别ID的驱动器号。
所以,当我获得DeviceID DISK&VEN_WDC_WD10&PROD_02FAEX-00Z3A0
时,我需要将其转换为等效的driveLetter,即C:
,这就是全部。
我已尝试使用WMIC
工具,因为我不知道如何使用Windows中提供的本机命令行工具关联此信息,但实际上并非完全有必要完成此任务访问{{ 1}}类,我可以接受使用Windows中其他预设工具的解决方案(可能是WMI
?),或者也可以接受BCDedit
语言的解决方案,但对于环境环境,我不能做此任务使用任何其他语言(包括本机VBScript
),也不使用Microsoft提供的PowerShell
实用程序等第三方工具。
我需要的原因是完成此脚本,该脚本应检索并排除DriveLetter Devcon
的DeviceID:
C:
答案 0 :(得分:1)
diskpart /s diskpart.script
脚本中有两行
select disk 0
detail disk
帮助?
答案 1 :(得分:0)
获取存储系统(C :)的硬盘驱动器的设备ID的解决方案
@Echo OFF & Setlocal EnableDelayedExpansion
(
REM Diskpart Script to get details about the System's Hard Drive.
Echo Select Disk=System
Echo Detail Disk
) > "%TEMP%\Diskpart.tmp"
For /F "Tokens=*" %%# in (
'Diskpart /S "%TEMP%\Diskpart.tmp" ^| Find /I "Disk Device"'
) Do (
For /F "Tokens=1,2,* Delims=\ " %%a in (
'WMIC.exe DiskDrive Where Model^="%%#" Get PNPDeviceID /Format:CSV ^| Find /I "&"'
) Do (
Set "DeviceID=%%b"
Set "DeviceID=!DeviceID:&=&!"
)
)
Echo "!DeviceID!"
Pause&Exit /B 0