我正在尝试编写一个BAT脚本来生成一个grub4dos menu.lst文件。
menu.lst文件中的启动项通常包含如下行:
root (hdx,y)
其中x是硬盘号(第一个磁盘hd0),y是磁盘上的分区号(第一个分区是0)。 如何find%systemdrive%的磁盘和分区号?
该脚本将在Windows Vista或7下运行。
WMIC LogicalDisk GET param1, param2 (etc.)
我不确定是否有分区号码。 您可以检查的WMI类(例如LogicalDisk)的列表在这里: MSDN
如果你使用的是Windows 7,Powershell的select是:
Get-WmiObject Win32_LogicalDisk | Where {$_.DriveType -eq "3"} | Select param1, param2
编辑:有一个特定分区的类:Win32_DiskPartition这包含一个Index属性。 Name属性将给你的磁盘和分区ID(但你将不得不parsing它)。