【问题标题】:getting windows product key from bios从bios获取windows产品密钥
【发布时间】:2016-07-19 19:54:33
【问题描述】:

我正在尝试制作一个批处理脚本来从 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

正如我所说,我现在过得很糟糕,而且我对 for /f 非常陌生 - 我不知道我哪里出错了,也不知道该怎么做。

【问题讨论】:

标签: batch-file wmic


【解决方案1】:

您可以使用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 行尾的几种方法之一(所需的标记没有行尾)。

【讨论】:

    猜你喜欢
    • 2020-02-08
    • 2015-06-17
    • 1970-01-01
    • 1970-01-01
    • 2015-09-22
    • 1970-01-01
    • 2012-12-01
    • 2023-04-03
    • 2018-01-18
    相关资源
    最近更新 更多