BAT 脚本如何找到 %systemdrive% 的分区号

BAT 脚本如何找到 %systemdrive% 的分区号

我正在尝试编写一个 BAT 脚本来生成 grub4dos menu.lst 文件。

menu.lst 文件中的启动项通常包含如下行:

root (hdx,y)

其中 x 是硬盘编号(第一个磁盘 hd0),y 是磁盘上的分区编号(第一个分区为 0)。如何找到 %systemdrive% 的磁盘和分区编号?

该脚本将在 Windows Vista 或 7 下运行。

答案1

WMIC LogicalDisk GET param1, param2 (etc.)

我不确定是否存在这样的分区号。您可以检查的 WMI 类(例如 LogicalDisk)列表如下:微软

如果您使用的是 Windows 7,则 Powershell 替代方案是:

Get-WmiObject Win32_LogicalDisk | Where {$_.DriveType -eq "3"} | Select param1, param2

编辑:有一个特定分区的类:Win32_DiskPartition,它包含一个Index属性。该Name属性将为您提供磁盘和分区 ID(但您必须对其进行解析)。

相关内容