通过批处理文件识别窗口上的版本



我试图根据我使用的Windows版本运行Powershell脚本。我参考了几个文档并自己编写了这段代码。我无法执行批处理文件。输出闪烁一秒钟左右,然后关闭。我尝试从命令提示符调用批处理文件,但出现错误,说

( was unexpected at this time.

我附上了下面的代码。请帮忙!

@ECHO OFF
for /f "tokens=4-7 delims=[.] " %%i in ("ver") do @ ( if %%i==Version (set myvar=%%i.%%k ) else ( set myvar=%%i.%%j))
IF %myvar%==10.0 ( goto power ) ELSE (goto cont)
:power
powershell.exe -file C:UsersKashyDesktopsecure.ps1
set var=%errorlevel%
IF %var%==5 ( echo "Disable Secure boot mode. Refer our readme document for more details." ) ELSE (goto cont) 
goto eof
:cont
echo hello
:eof
pause
exit

提前感谢!

因为目的不是识别 Windows 版本,而是检测版本是否是 Windows 10,所以我会使用WMIC.

这应该只识别那些运行 Windows 10 或更高版本的系统:

@Echo Off
Set "OV="
For /F "Skip=1 Tokens=*" %%A In (
'WMIC OS Where "Version<'4'" Get Version 2^>Nul') Do For %%B In (%%A
) Do Set "OV=%%A"
If Defined OV GoTo Start
Echo=
Echo Your Windows version does not meet the requirements
Echo Press any key to exit . . .
Echo=
Pause>Nul
Exit /B
:Start
Rem your code for Win10+

我只在Windows 10+上用<4GoTo Start(字符串比较会发现第一个字符1小于4(

相关内容

最新更新