go-wmi获取可移动磁盘信息

官方API:Win32_LogicalDisk 类 - Win32 apps | Microsoft Docs

import (
	"fmt"
	"github.com/StackExchange/wmi"
	"strings"
	"time"
)
// Win32_LogicalDisk 本地磁盘类类型、名称不可更改
type Win32_LogicalDisk struct {
	Access                       uint16
	Availability                 uint16
	BlockSize                    uint64
	Caption                      string
	Compressed                   bool
	ConfigManagerErrorCode       uint32
	ConfigManagerUserConfig      bool
	CreationClassName            string
	Description                  string
	DeviceID                     string
	DriveType                    uint32
	ErrorCleared                 bool
	ErrorDescription             string
	ErrorMethodology             string
	FileSystem                   string
	FreeSpace                    uint64
	InstallDate                  string
	LastErrorCode                uint32
	MaximumComponentLength       uint32
	MediaType                    uint32
	Name                         string
	NumberOfBlocks               uint64
	PNPDeviceID                  string
	PowerManagementCapabilities  []uint16
	PowerManagementSupported     bool
	ProviderName                 string
	Purpose                      string
	QuotasDisabled               bool
	QuotasIncomplete             bool
	QuotasRebuilding             bool
	Size                         string
	Status                       string
	StatusInfo                   uint16
	SupportsDiskQuotas           bool
	SupportsFileBasedCompression bool
	SystemCreationClassName      string
	SystemName                   string
	VolumeDirty                  bool
	VolumeName                   string
	VolumeSerialNumber           string
}
// GetRemoveDisk 获取可移动磁盘
func GetRemoveDisk() {
	// 创建wmi客户端
	s, err := wmi.InitializeSWbemServices(wmi.DefaultClient)
	defer s.Close()
	if err != nil {
		log.Fatalf("InitializeSWbemServices: %s", err)
	}
	// 查询的数据类型
	var dst []Win32_LogicalDisk
	// 查询的条件
	q := wmi.CreateQuery(&dst, "WHERE DriveType=2")
	// 查询信息
	errQuery := s.Query(q, &dst)
	if errQuery != nil {
		fmt.Println("err", errQuery)
	}
	for _, value := range dst {
		fmt.Printf("%+v", value)
	}
}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值