私が達成したいことを要約すると、Java をインストールしない場合はバッチ ファイルの最後に移動し、存在する場合は 2 つのキーをクエリします。
バッチ ファイルは Java を正常にインストールしていますが、.txt ファイルを削除するかどうかをテストすると、次のようになります。
IF exist %windir%\gpologs\jre_1.7.21.x86.txt goto eof ELSE goto Q1
レジストリ キーの 1 つが存在するにもかかわらず、インストーラーはまだ上書きインストールを試みましたか?
完全なバッチファイルは次のとおりです。
IF exist %windir%\grouppolicylogs\jre_1.7.21.x86.txt goto eof ELSE goto Q1
:Q1
Reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F86417025FF}"
if %ErrorLevel% EQU == 0 goto End ELSE goto Q2
:Q2
Reg query "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\Windows\CurrentVersion\Uninstall\{26A24AE4-039D-4CA4-87B4-2F83217021FF}"
if %ErrorLevel% EQU == 0 goto End ELSE goto Install
:Install
msiexec /i "\\servername\SoftwareRep\Java\Java 1.7.0_21 x86\jre1.7.0_21.msi" /qn
if %ErrorLevel% EQU 0 (
>>"\\servername\gpolog\jre_1.7.21.x86.csv" echo "%computername%","%date%","%Time%","%ErrorLevel%","Java Runtime 1.7.0_21x86 Installed"
>>"%windir%\GpoLogs\jre_1.7.21.x86.txt" echo "Java Runtime 1.7.0_21x86 Installed"
) else (
>>"\\servername\gpolog\JavaInstallErrors.csv" echo "%computername%","%date%","%Time%","%ErrorLevel%","Error trying to install Java 1.7_21x86"
)
:END
どこが間違っていますか?