此问题与How can I get a listing of all drives on Windows using golang?
不同我知道如何获取硬盘的分区,但硬盘的数量呢?
我尝试使用diskpark
但不喜欢它
是否有一些原生方式可以实施?
它有效。 大家好。
这里的代码是。
Gopkg.toml:
required = ["github.com/stackexchange/wmi"]
和go代码:
func getDiskDrivers() uint8 {
type Win32_DiskDrive struct {
Caption string
Name string
DeviceID string
Model string
Index int
Partitions int
Size int
PNPDeviceID string
Status string
SerialNumber string
Manufacturer string
MediaType string
Description string
SystemName string
}
var dst []Win32_DiskDrive
query := wmi.CreateQuery(&dst, "")
if err := wmi.Query(query, &dst); err != nil {
log.Println(err.Error())
return 0
}
//for key, value := range dst {
// log.Println(fmt.Sprintf(`Disk%d: %v`, key+1, value))
//}
return uint8(len(dst))
}