在wmic中,' - '是特殊字符。 如何使用負數進行搜索? 就像wmic命令如何使用負數進行搜索
wmic volume where serialnumber=-1874012763
因爲 ' - ' 是sepcial字符,這個命令是不行的。
我該如何爲wmic搜索指定負數?
在wmic中,' - '是特殊字符。 如何使用負數進行搜索? 就像wmic命令如何使用負數進行搜索
wmic volume where serialnumber=-1874012763
因爲 ' - ' 是sepcial字符,這個命令是不行的。
我該如何爲wmic搜索指定負數?
從Win32_Volume類的serialNumber值是一個無符號整數(UINT32),有沒有辦法查詢使用WMIC,因爲你不能轉換值的無符號整數,你可以只列出所有值:
據我所知,可以通過編寫腳本來克服對無符號整數值的查詢。例如使用VBS quering關於「-1435665788」(我的系統C驅動器)的無符號整數值:上述
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)
提示的驅動器號和序列號爲給定的無符號整數值。希望這可以幫助;)
不確定這個例子是否正確,因爲按照docs這個屬性是uint32。
反正逃避這種行爲我會嘗試使用:
wmic volume where (serialnumber=-1874012763)
這是行不通的。返回值無效查詢@@ –
這是因爲這個查詢,正如我提到的* *是無效的。你能否顯示你在哪裏發現負號碼的音量?我檢查了很多主機,並且它始終如文檔所述,正面... :) – BartekB
我使用此命令檢查serailnumber: wmic volume獲得serialnumber,driveletter –
雙引號的價值;
wmic volume where serialnumber="-1874012763" get ...
它不工作。返回值是「無效查詢」 –
非常感謝^^這是非常有用的 –