我正在尝试将此命令的输出写入变量,但无法完全使语法起作用......
我的 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