无法通过 Wmic SoftwareLicensingProduct 获取 Windows 激活变量

无法通过 Wmic SoftwareLicensingProduct 获取 Windows 激活变量

我正在尝试通过 WMIC SoftwareLicensingProduct 循环读取来获取 Windows 10 许可信息,但它没有显示任何内容...命令行本身在 CMD 框中生成正确的信息:

%SystemRoot%\System32\wbem\wmic.exe PATH SoftwareLicensingProduct WHERE "(Name LIKE '%%Windows%%') AND (PartialProductKey is not null)" get Description, LicenseStatus, Name, PartialProductKey /format:list

作为 :

Description=Windows(R) Operating System, RETAIL channel
LicenseStatus=1
Name=Windows(R), Professional edition
PartialProductKey=....

但是,如下所示在循环中插入的命令行没有产生任何内容(首先尝试使用一个变量)...

@echo off
SetLocal EnableExtensions EnableDelayedExpansion
set "WPath=%SystemRoot%\System32\wbem\wmic.exe"
for /f "usebackq tokens=4 delims==" %%i in ('%WPath% PATH SoftwareLicensingProduct WHERE "(Name LIKE '%%Windows%%') AND (PartialProductKey is not null)" get Description, LicenseStatus, Name, PartialProductKey /format:list') do set _variable=%%i
@echo !_variable!

答案1

您似乎认为for带有“usebackq tokens=4”的命令将在第四行起作用,但它将在每一行都起作用,并将_variable最后一行的第四个标记设置为空。

要在正确的行上操作,请使用命令

wmic ... | findstr PartialProductKey

要搜索的令牌将是第二个。

相关内容