Board logo

标题: [出题]批处理判断本机的Office版本和Office语言版本 [打印本页]

作者: HAT     时间: 2008-10-9 21:07    标题: [出题]批处理判断本机的Office版本和Office语言版本

要求:
用批处理判断本机的Office版本,包括Office的语言版本。

可能的Office版本(其它版本不做要求):
Office 97
Office 2000
Office XP
Office 2003
Office 2007

可能的Office语言版本(其它语言版本不做要求):
英文
中文
作者: slore     时间: 2008-10-9 22:59
从注册表有很多地方可以读出。

HKEY_CURRENT_USER\Software\Microsoft\Office
下面那个数字对应版本。。。里面有lang的项。

还有……
http://support.microsoft.com/kb/945598/zh-tw

官方也有……其实方法挺多的。还有从打开方式找EXE,看EXE属性的……
作者: HAT     时间: 2008-11-12 20:45

@echo off
setlocal enabledelayedexpansion
for /l %%a in (8,1,12) do (
  reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\%%a.0\Common\LanguageResources /v SKULanguage>nul 2>nul
  if !errorlevel!==0 (
    if %%a==8 (
      set OffiVer=Office 97
    ) else if %%a==9 (
      set OffiVer=Office 2000
    ) else if %%a==10 (
      set OffiVer=Office XP
    ) else if %%a==11 (
      set OffiVer=Office 2003
    ) else if %%a==12 (
      set OffiVer=Office 2007
    ) else (
      set OffiVer=其它
    )
  )
)
for /f "tokens=2 delims=x" %%a in ('reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Common\LanguageResources /v SKULanguage') do (
  if %%a==409 (
    set OffiLan=英文
  ) else if %%a==2052 (
    set OffiLan=中文
  ) else (
    set OffiLan=其它
  )
)
echo Office版本:%OffiVer%
echo Office语言版本:%OffiLan%
pause

作者: 406317577     时间: 2008-11-12 23:43
...学习中
作者: jethroso     时间: 2008-11-13 11:10
我的office语言是“其它”??
作者: HAT     时间: 2008-11-13 13:00    标题: Re 5楼

开始
运行
cmd
reg query HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\11.0\Common\LanguageResources /v SKULanguage
结果如何?