2017-03-02 110 views

回答

0
wmic product where "Name like '%%Outlook%%'" get Version | findstr /r /v "^$" > temp2.txt 
for /f "tokens=2 delims==" %%a (temp2.txt) (echo %%a) 

參考:Batch file to get specific installed software along with version 上面的代碼來獲得版本號。

+0

它顯示一個錯誤。 「沒有可用的實例」 – Shruti

+0

1. wmic只顯示通過Windows安裝程序安裝的產品。 2.在旁邊注意,如果您嘗試從命令行的第一行,而不是放入批處理文件,您可能無法獲得所需的結果。 %%只會在沒有提示的批處理文件中跳轉到%。 – user2648008

0

有可能是使用註冊表的方式:

@Echo Off 

If "%PROCESSOR_ARCHITECTURE:~-2%"=="86" (If Defined PROCESSOR_ARCHITEW6432 (
     Set "Key=\Wow6432Node" & Set "MWB=64") Else (Set "MWB=32" & Set "MOB=32" 
    )) Else Set "MWB=64" 
Set "KEY=HKLM\Software%KEY%\Microsoft\Windows\CurrentVersion\Uninstall" 

Set "GUID=" 
For /F "Delims=" %%A In ('Reg Query %KEY% /K /F "*-001A-*0FF1CE}"') Do (
    If Not Defined GUID Set "GUID=%%~nxA") 
If Not "%GUID:~-1%"=="}" Set "GUID=" 
If Not Defined GUID (Echo= Unable to find Outlook Product & GoTo EndIt) 

If %GUID:~4,1% Equ 4 Set "IOV=10" Else (If %GUID:~4,1% Equ 2 (Set "IOV=07" 
    If Not Defined MOB Set "MOB=32") Else (If %GUID:~4,1% Equ 5 (Set "IOV=13" 
     ) Else (If %GUID:~4,1% Equ 6 Set "IOV=16"))) 

If Not Defined IOV (Echo= Unknown Outlook version on your %MWB%-bit OS 
    GoTo EndIt) 

If Not Defined MOB Set "MOB=32" 
If %GUID:~20,1% Equ 1 Set "MOB=64" 

Echo=&Echo= Outlook 20%IOV% %MOB%-bit Product installed on a %MWB%-bit OS 

:EndIt 
Timeout 5 1>Nul 

這還沒有測試過,因爲我從來沒有能夠證明任何Microsoft Office產品的成本。

相關問題