wmicでは、「-」は特殊文字です。検索に負の数を使用するにはどうすればよいですか?と同じように
wmic volume where serialnumber=-1874012763
'-'は特殊文字であるため、このコマンドは機能しません。
wmicでの検索に負の数を割り当てるにはどうすればよいですか?
ドキュメントによると、このプロパティはuint32であるため、その例が正しいかどうかはわかりません。
とにかく、この動作を回避するために、私は使用しようとします:
wmic volume where (serialnumber=-1874012763)
Win32_VolumeクラスのSerialNumber値は符号なし整数(uint32)です。値を変換できないため、WMICを使用して符号なし整数値を照会する方法はありません。すべての値を一覧表示することしかできません。
wmic /namespace:\\root\cimv2 path Win32_Volume get SerialNumber /value
私の知る限り、スクリプトを使用することで、符号なし整数値のクエリを克服できます。たとえば、「-1435665788」(私のシステムCドライブ)の符号なし整数値に対してVBSクエリアを使用します。
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)
上記は、指定された符号なし整数値のドライブ文字とシリアル番号を要求します。お役に立てれば ;)
値を二重引用符で囲みます。
wmic volume where serialnumber="-1874012763" get ...