2016-12-30 3 views
0

バッチスクリプトでの初心者の合計で、プログラムがタスクマネージャで実行されているかどうかをチェックするバッチファイルを作成しようとしています。アプリケーションが実行されている場合は、アップデートファイルを実行し、プログラムがインストールされていない場合は、プログラムをインストールします。例としてAdobe Reader。インストール/アップデートプログラムのための.batファイルの使用

@echo off 
echo Installing Adobe Reader DC 150072033 Base... 
echo This step will be omitted if it is unnecessary. 
:B 
tasklist | findstr /I "AcroRd32.exe" 
if errorlevel 1 (call "msiexec /i AcroRdrDC1502020039.msi /qn") ELSE (timeout /t 30) 
GOTO :B 
echo. 
echo Installing Adobe Reader DC Update Patches... 
msiexec /p "AcroRdrUpd1502020039.msp" /qn" 
echo. 
echo Installation concluded. 

あなたにはアドバイスや解決策がありますようにお願いします。 幸せな新年:)

+2

あなたの質問はありますか? – aschipfl

答えて

0

は、おそらく次のコードスニペットを助けることができるのコメント:

@echo off 
echo Installing Adobe Reader DC 150072033 Base... 
echo This step will be omitted if it is unnecessary. 
:B 
rem check if Adobe Reader is currently running not if it's installed 
tasklist | findstr /I "AcroRd32.exe" 
if errorlevel 1 (
    rem use `start` command instead of `call` 
    rem    to ensure that current `bat` waits until `msiexec`'s finish 
    start "" /B /WAIT msiexec /i AcroRdrDC1502020039.msi /qn 
) ELSE (
    echo please exit Adobe Reader to continue 
    timeout /t 30 
    rem check again 
    GOTO :B 
) 
echo. 
echo Installing Adobe Reader DC Update Patches... 
msiexec /p "AcroRdrUpd1502020039.msp" /qn 
echo. 
echo Installation concluded. 

Adob​​e Readerはを実行している現在ある場合にtasklist | findstr /I "AcroRd32.exe"チェックに注意してください。 Adobe Readerのであるかどうかを確認するには、​​のEnterprise Administration Guide for the Adobe® Acrobat Family of Productsに従ってください。要するに

GUIDはさまざまな場所に書き込まれる。後者の文書を参照して、GUIDレジストリ位置をチェックします。ただし、Adobe では、次を使用することをお勧め:

  • 32ビットのWindows:
    • HKEY_LOCAL_MACHINE\SOFTWARE\Adobe\{application}\{version}\Installer\
  • 64ビットのWindows:
    • HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Adobe\{application}\{version}\Installer\

Cf.このスレッド:Check if Adobe Reader is installed

関連する問題