快速命令或批处理脚本,以确定Windows和Office版本

时间:2013-09-16 04:29:11

标签: windows batch-file ms-office

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

是否有命令或小程序(可以在没有安装的情况下运行),我可以通过电子邮件发送给最终用户,以便输出MS Windows和MS Office版本?

5 个答案:

答案 0 :(得分:16)

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

要使用System注册表获取Windows版本,请使用以下命令:

reg query "HKLM\Software\Microsoft\Windows NT\CurrentVersion" /v "ProductName"

这将提供一个输出,可以解析以获取当前的Windows版本/名称。

要获取当前的办公室版本,请使用:

reg query "HKEY_CLASSES_ROOT\Word.Application\CurVer"

此命令的输出以数字格式(例如14,15等)提供办公室版本。

解析输出以获取版本号,匹配对照现有Microsoft Office版本列表以获取已安装版本的名称:

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

希望这会有所帮助!!

答案 1 :(得分:1)

@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 :(得分:0)

我用它来获取版本2003,2007,2010和2013.

Folder1/sub1folder/sub2folder/sub3folder

答案 3 :(得分:0)

还有1个使用npocmaka的代码,但添加了地图以使其更加用户友好:

@echo off
setlocal

call :GetOfficeVer
endlocal
exit /b

:GetOfficeVer
::@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:~-3,2!") do (
            set "off_ver=%%~nV"
            call :Map !off_ver! && exit /b
        )
)
:Map
set "v=%1"
set "map=11-2003;12-2007;14-2010;15-2013"
call set v=%%map:*%v%-=%%
set v=%v:;=&rem.%
echo Microsoft Office Version: %v%
endlocal
exit /b

答案 4 :(得分:0)

要获得Windows 10下的办公室版本,这非常优雅:

for /F "tokens=3 delims=." %%O in ('reg query HKEY_CLASSES_ROOT\Word.Application\CurVer') do set _officeVer=%%O

不需要管理员权限,也适用于xp及以上