@echo OFF cd /d %~dp0 SETLOCAL enabledelayedexpansion SET LOG=%cd%\PACHLOG.log SET ERRLOG=%cd%\ERRLOG.log SET returnCode= rem パッチ適用開始 echo パッチ適用開始:%date% %time% >>%LOG% rem 2013年分パッチ適用 call :subPatch 2013 rem 2014年分パッチ適用 call :subPatch 2014 rem 2015年分パッチ適用 call :subPatch 2015 rem 2016年分パッチ適用 call :subPatch 2016 rem 2017年分パッチ適用 call :subPatch 2017 rem パッチ適用完了 echo パッチ適用完了:%date% %time% >>%LOG% echo サーバーの再起動をしてから、パッチ一括リトライ適用.batを実行してください >>%LOG% rem pause ENDLOCAL exit :subPatch CD %1 SET PachDir=%CD% for %%i in (%PachDir%\*.msu) do ( echo 適用バッチ:%%i echo パッチ実行:%%i >>%LOG% SET fileN=%%i C:\Windows\System32\wusa.exe !fileN! /quiet /Norestart echo 実行結果:!ERRORLEVEL! !fileN! >>%LOG% ) for %%i in (%PachDir%\*.exe) do ( echo 適用バッチ:%%i echo パッチ実行:%%i >>%LOG% SET fileN=%%i !fileN! /quiet /Norestart echo 実行結果:!ERRORLEVEL! !fileN! >>%LOG% ) for %%i in (%PachDir%\*.msi) do ( echo 適用バッチ:%%i echo パッチ実行:%%i >>%LOG% SET fileN=%%i C:\Windows\System32\msiexec /i !fileN! echo 実行結果:!ERRORLEVEL! !fileN! >>%LOG% ) for %%i in (%PachDir%\*.cab) do ( echo 適用バッチ:%%i echo パッチ実行:%%i >>%LOG% SET fileN=%%i C:\Windows\System32\dism /online /add-package=!fileN! /Norestart echo 実行結果:!ERRORLEVEL! !fileN! >>%LOG% ) CD .. exit /b