Пакетная проверка файлов офисной архитектуры версии
У меня есть следующий скрипт, который будет печатать текущую версию офиса и архитектуры ОС,
Echo off&SetLocal
Set "KEY="&Set "GUID="&Set "IOV="&Set "MWB=32"&Set "MOB=32"
Echo=%PROCESSOR_ARCHITECTURE% %PROCESSOR_ARCHITEW6432%|Find "64">Nul&&(
Set "KEY=\Wow6432Node"&Set "MWB=64")
Set "KEY=HKLM\Software%KEY%\Microsoft\Windows\CurrentVersion\Uninstall"
For /f "Delims=" %%a In ('Reg Query %KEY% /k /f "*-001B-*0FF1CE}"') Do (
If Not Defined GUID Set "GUID=%%~nxa")
If Not Defined GUID (Echo=Unable to find Office Product&GoTo :EndIt)
If %GUID:~20,1% Equ 1 Set "MOB=64"
If %GUID:~4,1% Equ 4 (Set IOV=10) Else (If %GUID:~4,1% Equ 2 (Set IOV=07) Else (
If %GUID:~4,1% Equ 5 (Set IOV=13) Else (Set IOV=??)))
Echo=&Echo= Office 20%IOV% %MOB%-bit Product installed on a %MWB%-bit OS
:EndIt
Я хотел бы настроить этот скрипт, чтобы сделать некоторые другие вещи, если вывод похож на этот Office 20?? 32-битный продукт установлен на 64-битной ОС
If Echo= Office 2007 32-bit Product installed on a 64-bit OS (run another script or command)
Может ли кто-нибудь помочь мне реализовать это? Заранее спасибо.
2 ответа
Исходный вопрос и принятый ответ здесь не имели для меня смысла, но это единственное место, где я мог найти пакетный скрипт, который раскрывал бы разрядность Office. К сожалению, этот код немного устарел и не работал с Office 2016/365, который я использовал. Я нашел другое место в реестре, которое мне подходит, и обновил скрипт следующим образом.
@ECHO OFF
SetLocal
COLOR 71
TITLE %~n0
CLS
ECHO Detecting Office Bitness...
Set "IOV=" & Set "MWB=32" & Set "MOB="
REM --- Determine the Windows bitness
ECHO=%PROCESSOR_ARCHITECTURE% %PROCESSOR_ARCHITEW6432%|Find "64">Nul&&(Set "KEY=\Wow6432Node"&Set "MWB=64")
REM --- Determine the Office bitness
REM This registry location may be more geared to O365. BS 7/19/2022
for /f "tokens=3 delims=, " %%B in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration" /v Platform') do set "MOB=%%B"
REM --- Determine the Office version number
for /f "tokens=3 delims=, " %%B in ('reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Office\ClickToRun\Configuration" /v VersionToReport') do set "IOV=%%B"
ECHO.
ECHO Office %IOV% %MOB% product installed on a %MWB%-bit OS
ECHO.
Pause
Выход
Обнаружение битности Office...
Продукт Office 16.0.14931.20604 x86, установленный в 64-разрядной ОС
Нажмите любую клавишу для продолжения . . .