从BIOS获取Windows产品密钥

时间:2016-07-19 19:54:34

标签: batch-file wmic

我尝试制作批处理脚本以从BIOS中提取Windows产品密钥,以便可以在生产环境中正确激活计算机。

我正在运行以获取密钥的命令是wmic path SoftwareLicensingService get OA3xOriginalProductKey > text.txt

创建一个名为text.txt的文本文件,其中包含:

OA3xOriginalProductKey         
xxxxx-xxxxx-xxxxx-xxxxx-xxxxx 

(注意每行后面的一些随机空格) 问题是我只需要xxxxx-xxxxx-xxxxx-xxxxx-xxxxx部分,但我在这方面做得很糟糕。

我尝试了以下内容:

for /F "skip=10 delims=" %%i in (text.txt) do echo %%i

for /f "tokens=1*delims=:" %%G in ('findstr /n "^" text.txt') do if %%G equ 2 echo %%H

for /f "tokens=*" %%a in (text.txt) do call :processline %%a

:processline
echo line=%*

最后但并非最不重要

for /F "tokens=2" %%i in (text.txt) do echo %%i %%j %%k

正如我所说,我度过了一段非常糟糕的时光,而且非常喜欢/ f - 我不知道我哪里出错或做什么。

1 个答案:

答案 0 :(得分:3)

您可以使用for来获取命令的输出。

@echo off
For /f "tokens=2 delims=," %%a in ('wmic path SoftwareLicensingService get OA3xOriginalProductKey^,VLRenewalInterval /value /format:csv') do set key=%%a
echo %key%

使用另一个wmic令牌(此处为VLRenewalInterval)是摆脱丑陋的wmic行结尾的几种方法之一(所需的令牌没有行结束)。