Loading

bat中检查系统版本并添加系统变量

bat中检查系统版本并添加系统变量

补丁包中升级 nodejs​ 版本时,需要检查下操作系统版本,如果低于 Windows 8.1​ 需要添加系统变量 NODE_SKIP_PLATFORM_CHECK

@echo off
for /f "tokens=1,2,3,4" %%i in ('ver') do (
    set ver_temp=%%l
)

set ver_major=%ver_temp:~0,2%
set ver_minor=%ver_temp:~3,1%
set ver_build=%ver_temp:~-5,4%

echo Windows Version:
echo   Major %ver_major%
echo   Major %ver_minor%
echo   Build %ver_build%

::小于等于8.1的都要添加系统变量
set min_major=8
set min_minor=1
if %ver_major% LSS %min_major% (
    ::系统主版本小于8需要添加
    goto addEnv
)

if %ver_major% EQU %min_major% (
    ::系统主版等于8,检查小版本
    goto checkMinor
)

::系统主版本在8.1之上,直接执行升级脚本
goto updateShell

:checkMinor
if %ver_minor% LEQ %min_minor% (
    ::小版本小于等于1需要添加
    goto addEnv
)
goto updateShell

:addEnv
if "%NODE_SKIP_PLATFORM_CHECK%" == "" (
    ::添加系统环境变量
    SETX NODE_SKIP_PLATFORM_CHECK 1 /m
    ::临时设置
    set NODE_SKIP_PLATFORM_CHECK=1
)
goto updateShell

:updateShell
::下面是正常升级有脚本

参考文章:

for /F 语句扩展

字符串截取操作

批处理教程:SET和SETX命令

posted @ 2024-04-17 15:29  zhpj  阅读(28)  评论(0)    收藏  举报