6

ハードドライブの名前とシリアル番号を読みたい。

私はつまずいたwmicが、問題を抱えている。これらの2つのコマンドでうまくいくと思いますが、次のメッセージしか表示されません。

Invalid Xml-Content. //(Translated)

wmic path win32_physicalmedia get serialnumber

また

wmic DISKDRIVE GET SerialNumber

私も次のことを試しました:

wmic DISKDRIVE GET SerialNumber /FORMAT:list
wmic DISKDRIVE GET SerialNumber /FORMAT:xml.xsl
wmic DISKDRIVE GET SerialNumber > c:\test.txt

私が間違っていることについて何か考えはありますか?


解決:

JPBlancに感謝します。コマンドを介して、存在すら存在しない/?ことがわかりました。SerialNumber今使っています

WMIC /output:"c:\hdds.txt" DISKDRIVE GET PNPDeviceID,Name /Format:CSV

正しい結果が得られます。

4

3 に答える 3

5

外付けドライブが接続されているときに、Windows 7 x86 Pro(シリアル番号のクエリが可能な場合)でこのエラーが発生していました。

これが私がそれを修正した方法です:

  1. 各ドライブのIDを取得します。wmic diskdrive get deviceid /format:list

  2. 出力を解析し、最初のIDを取得します。私の場合、これは \\.\PHYSICALDRIVE0

  3. IDが次のようになるように、円記号をエスケープします\\\\.\\PHYSICALDRIVE0

  4. エスケープされたIDを使用してドライブのシリアル番号を取得します。

    wmic diskdrive where deviceid='\\\\.\\PHYSICALDRIVE0' get serialnumber /format:list

  5. すべてのドライブのシリアル番号がわかるまで、手順2〜4を繰り返します。


編集:上記は、私のWindows XPx86Proのコピーでは機能しません。

これは行います:

wmic path win32_physicalmedia where tag='\\\\.\\PHYSICALDRIVE0' get serialnumber /format:list
于 2014-05-26T13:34:27.930 に答える
4

WMICコマンドラインで間違いを犯しているだけで、WMIC DISKDRIVE GET SerialNumber /Format /? キーワードが表示されます。

CSV
HFORM
HTABLE
LIST
MOF
RAWXML
TABLE
VALUE
XML
htable-sortby
htable-sortby.xsl
texttablewsys
texttablewsys.xsl
wmiclimofformat
wmiclimofformat.xsl
wmiclitableformat
wmiclitableformat.xsl
wmiclitableformatnosys
wmiclitableformatnosys.xsl
wmiclivalueformat
wmiclivalueformat.xsl

あなたが試すことができます :

WMIC /output:"c:\temp\serial1.xml" DISKDRIVE GET SerialNumber /Format:RAWXML

他の形式の1つに置き換えることができRAWXMLます。

于 2012-02-15T20:11:45.663 に答える
3

この問題は、XMLパーサーが一部のドライブのシリアル番号に含まれている制御文字を無効として扱うために発生します。

于 2012-05-03T02:55:37.073 に答える