//go:build windows package file import ( "fmt" "github.com/yusufpapurcu/wmi" "strings" ) func getVolumeName(device string) (string, error) { var volumes []Win32_Volume query := "SELECT Name, Label FROM Win32_Volume WHERE DriveType = 3" // DriveType = 3 表示磁盘分区 err := wmi.Query(query, &volumes) if err != nil { fmt.Println("Failed to query Win32_Volume:", err) return device, err } for _, volume := range volumes { // fmt.Println("Name:", volume.Name, "Label:", volume.Label) if strings.ToLower(volume.Name[:2]) == strings.ToLower(device[:2]) { return volume.Label, nil } } return device, nil }