Wmic 出力を変数に

Wmic 出力を変数に

このコマンドの出力を変数に書き込もうとしていますが、構文がうまく機能しません...

私の WMIC クエリは次のとおりです:

wmic PATH SoftwareLicensingProduct WHERE "ProductKeyID like '%-%' AND Description like '%Windows%'" get LicenseStatus

誰か助けてくれませんか?

答え1

出力は次のようになります:を変数にLicenseStatus 1キャプチャしたい1

次のバッチファイルを使用します。

@echo off
for /f "usebackq tokens=2" %%i in (`wmic PATH SoftwareLicensingProduct WHERE "ProductKeyID like '%-%' AND Description like '%Windows%'" get LicenseStatus`) do set _variable=%%i
@echo %_variable%

参考文献

  • Windows CMD コマンドラインの AZ インデックス- Windows コマンド ラインに関連するあらゆることに関する優れたリファレンス。
  • /fの場合- 別のコマンドの結果に対してコマンドをループします。
  • セット- CMD 環境変数を表示、設定、または削除します。SET で行われた変更は、現在の CMD セッションの期間中のみ保持されます。

答え2

次のように使用します:

@echo off
for /f "usebackq tokens=2" %%i in (`wmic PATH SoftwareLicensingProduct WHERE "ProductKeyID like '%%-%%' AND Description like '%%Windows%%'" get LicenseStatus`) do set _variable=%%i
@echo %_variable%

基本的には最初の回答のコードと同じですが、パーセント記号が 2 つあります。

BB

関連情報