Files

30 lines
636 B
Go

//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
}