Windows wmic命令如何使用负数进行搜索
在wmic中,“-”是特殊字符。 如何使用负数进行搜索? 就像Windows wmic命令如何使用负数进行搜索,windows,command,wmic,Windows,Command,Wmic,在wmic中,“-”是特殊字符。 如何使用负数进行搜索? 就像 wmic volume where serialnumber=-1874012763 因为“-”是特殊字符,所以此命令无效 如何为wmic中的搜索分配负数 不确定该示例是否正确,因为根据文档,该属性为uint32 无论如何,为了避免这种行为,我会尝试使用: wmic volume where (serialnumber=-1874012763) 双引号的价值 wmic volume where serialnumber="-18
wmic volume where serialnumber=-1874012763
因为“-”是特殊字符,所以此命令无效
如何为wmic中的搜索分配负数 不确定该示例是否正确,因为根据文档,该属性为uint32 无论如何,为了避免这种行为,我会尝试使用:
wmic volume where (serialnumber=-1874012763)
双引号的价值
wmic volume where serialnumber="-1874012763" get ...
Win32_卷类中的SerialNumber值是无符号整数值(uint32),无法使用WMIC查询无符号整数值,因为无法转换该值,只能列出所有值:
wmic /namespace:\\root\cimv2 path Win32_Volume get SerialNumber /value
据我所知,可以通过编写脚本来克服查询无符号整数值的问题。例如,使用VBS查询'-1435665788'(my systems C drive)的无符号整数值:
上面提示给定无符号整数值的驱动器号和序列号。希望这有帮助;) 这是因为我提到的这个查询是无效的。你能告诉我你在哪里找到序列号为负数的卷吗?我在许多主机上进行了检查,正如文档所述,结果总是肯定的……)我使用这个命令check serailnumber:wmic volume get serialnumber,driveletter
Option Explicit
Const SN_VAL=-1435665788
Dim oWMI, oQRY, oItm, sComp, sMsg
sComp = "."
Set oWMI = GetObject("winmgmts:{impersonationLevel=impersonate,authenticationLevel=pktPrivacy}!\\" & sComp & "\root\cimv2")
Set oQRY = oWMI.ExecQuery("select * from Win32_Volume")
For Each oItm In oQRY
If oItm.SerialNumber = SN_VAL Then
MsgBox " DriveLetter: " & oItm.DriveLetter & vbCrLf & _
" SerialNumber: " & oItm.SerialNumber, vbOkOnly, "WMI Results"
End If
Next
Set oQRY = Nothing
Set oWMI = Nothing
WScript.Quit(0)