[英]Problem with if command -> set -> echo in Windows Command Prompt
我将使用名为%ProductKey%的变量制作Windows批处理文件。 我有确定Windows版本的代码(哪个是变量%WINVER%)。 它应使用if命令设置ProductKey变量,并回显%ProductKey%,其应为XXXXX-XXXXX-XXXXX-XXXXX-XXXXX。
for /f "usebackq skip=1 tokens=*" %%i in (`WMIC OS Get Caption ^| findstr /r /v "^$"`) do set WINVER=%%i
if "%WINVER%" == "Microsoft Windows 10 Pro" ( set ProductKey=XXXXX-XXXXX-XXXXX-XXXXX-XXXXX )
echo %ProductKey%
pause
%WINVER%是用于我的PC的Microsoft Windows 10 Pro。
它应该显示XXXXX-XXXXX-XXXXX-XXXXX-XXXXX,这是产品密钥,它告诉我只是回声已关闭。
我建议你加一行
echo "%WINVER%"
在“如果”测试之前。
对于Windows 10 Home,这将显示“ Microsoft Windows 10 Home” 。 我无法使用Windows 10 Pro进行测试,但是我的直觉告诉我Pro还将显示那些尾随空格。
也许
if "%WINVER: =%" == "MicrosoftWindows10Pro" ...
将解决您的问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.