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

批处理脚本检测Microsoft Office最新版本失效求助

修复Office版本检测的批处理脚本

你的脚本存在几个核心问题,导致无法正常工作:

  • 注册表路径错误:正确路径是HKEY_LOCAL_MACHINE(原脚本写为HKEY_LOCALMACHINE,缺少下划线)
  • 未实际获取注册表值:你直接用键名VersionToReport和版本号比较,没有提取该键对应的实际版本数据
  • 标签跳转逻辑漏洞:执行完:hello后会继续执行:heyo的代码,无法实现分支输出

以下是修复后的完整脚本,同时兼容32位/64位系统下的Office安装:

@echo off
set "targetVersion=16.0.10396.20023"
set "officeVersion="

:: 读取64位Office注册表路径的版本号
for /f "tokens=3" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration" /v VersionToReport 2^>nul') do (
    set "officeVersion=%%a"
)

:: 若未读取到,尝试读取32位Office在64位系统中的注册表路径
if not defined officeVersion (
    for /f "tokens=3" %%a in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Office\ClickToRun\Configuration" /v VersionToReport 2^>nul') do (
        set "officeVersion=%%a"
    )
)

:: 对比版本并输出结果
if "%officeVersion%" equ "%targetVersion%" (
    echo hello
) else (
    echo heyo
)

关键说明

  • @echo off:关闭命令回显,让输出仅显示结果
  • 2^>nul:屏蔽注册表路径不存在时的错误提示,避免干扰输出
  • for /f "tokens=3":提取reg query输出中第三列的版本值(reg查询结果格式为键名 类型 值)
  • 双路径检测:覆盖64位系统中安装32位Office的场景,避免漏检

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.27 17:25:07