You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写可根据Windows发行版本判断是否执行的批处理脚本

Windows 10 版本过滤批处理脚本实现

实现思路

优先读取注册表EditionID字段做版本判断,相比wmic命令执行速度更快、兼容性更好,在原有Build号过滤逻辑基础上新增版本类型判断,排除家庭版(Core系列)、S模式所有变体。

完整可复用代码

@echo off
:: 原有Build号过滤逻辑,保留
FOR /f "tokens=6 delims=[]. " %%i in ('ver') do SET build=%%i
IF %build% LSS 17763 (
COLOR E
ECHO.===============================================================================
ECHO.           ALERT - 不兼容RS5之前的Windows版本
ECHO.===============================================================================
ECHO.
PAUSE
GOTO :EOF
)
:: 新增版本类型判断逻辑,排除家庭版、S版
FOR /F "skip=2 tokens=3" %%a IN ('reg query "HKLM\SOFTWARE\Microsoft\Windows NT\CurrentVersion" /v EditionID 2^>nul') DO SET edition=%%a
:: 匹配包含Core(家庭版全系列)的版本直接退出
IF /I NOT "%edition:Core=%"=="%edition%" (
    COLOR E
    ECHO.===============================================================================
    ECHO.           ALERT - 不支持Windows家庭版运行
    ECHO.===============================================================================
    ECHO.
    PAUSE
    GOTO :EOF
)
:: 匹配包含S(S模式全系列)的版本直接退出
IF /I NOT "%edition:S=%"=="%edition%" (
    COLOR E
    ECHO.===============================================================================
    ECHO.           ALERT - 不支持Windows S模式版本运行
    ECHO.===============================================================================
    ECHO.
    PAUSE
    GOTO :EOF
)
:: 此处往下编写你需要执行的正常业务逻辑即可
ECHO 版本校验通过,开始执行脚本
PAUSE

关键逻辑说明

  • 读取注册表命令加了2>nul参数,避免注册表读取异常时抛出不必要的错误提示
  • 匹配逻辑加了/I参数,不区分大小写,避免因为EditionID大小写不一致导致判断失效
  • 模糊匹配规则覆盖了所有家庭版变体(Core、CoreSingleLanguage、CoreCountrySpecific等)和所有S模式变体(CoreS、ProfessionalS、EnterpriseS等)

内容的提问来源于stack exchange,提问作者user16770416

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 14:06:03