首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于确定Windows和Office版本的快速命令或批处理脚本

用于确定Windows和Office版本的快速命令或批处理脚本
EN

Stack Overflow用户
提问于 2013-09-16 12:29:11
回答 6查看 60K关注 0票数 8

我需要对300多台计算机进行软件审计,这些计算机既不在同一网络上,也不属于同一公司。

是否有命令或小程序(无需安装即可运行)可以通过电子邮件发送给最终用户运行,以输出MS Windows和MS Office版本?

EN

回答 6

Stack Overflow用户

发布于 2013-09-16 13:09:12

获取当前Windows版本和Microsoft Office版本的一种可能方法是使用命令行查询系统注册表项。

要使用系统注册表获取windows版本,请使用以下命令:

代码语言:javascript
复制
reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v "ProductName"

这将给出一个输出,它可以是解析的,以获得当前的windows版本/名称。

要获取最新的办公版本,请使用:

代码语言:javascript
复制
reg query "HKEY_CLASSES_ROOT\Word.Application\CurVer"

此命令的输出提供数字格式的办公版本,如14、15等。

分析输出以获取版本号,并根据现有Microsoft office版本列表与匹配以获取已安装版本的名称:

代码语言:javascript
复制
Office 97   -  7.0
Office 98   -  8.0
Office 2000 -  9.0
Office XP   - 10.0
Office 2003 - 11.0
Office 2007 - 12.0
Office 2010 - 14.0 
Office 2013 - 15.0
Office 2016 - 16.0

希望这能有所帮助!!

票数 17
EN

Stack Overflow用户

发布于 2013-09-16 13:17:28

代码语言:javascript
复制
@echo off
setlocal enableDelayedExpansion
for /f "tokens=2 delims==" %%O in ('ftype ^|findstr /r /I "\\OFFICE[0-9]*" 2^>nul') do (
    set "verp=%%~O"
    goto :end_for
)
:end_for

for %%P in (%verp%) do (
    set "off_path=%%~dpP"
    for %%V in ("!off_path:~0,-1!") do (

     set "office_version=%%~nV"
     goto :end_for2
    )
)
:end_for2
echo %office_version%
endlocal

不需要管理员权限,适用于Windows XP及更高版本

票数 2
EN

Stack Overflow用户

发布于 2018-05-22 21:01:57

要获得Windows10下的办公版本,这是相当优雅的:

代码语言:javascript
复制
for /F "tokens=3 delims=." %%O in ('reg query HKEY_CLASSES_ROOT\Word.Application\CurVer') do set _officeVer=%%O

不需要管理员权限,也可以在xp或更高版本上运行

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18820434

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档