我試圖將此命令的輸出寫入變量,但無法完全使語法正常工作...
我的 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 cmd 行相關的所有內容的絕佳參考。
- 對於 /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%
它基本上是第一個答案中的代碼,但帶有雙百分號。
BB