Невозможно записать результат во вложенном скрипте в пакетном скрипте - PullRequest
0 голосов
/ 30 апреля 2019

enter image description here Я написал скрипт, который останавливает / запускает пул приложений на IIS-сервере, все работает нормально, но я не могу получить несколько операторов, зарегистрированных во вложенных. Если я использовал в сценарии Ниже приведен код скрипта

set CUR_YYYY=%date:~10,4%
set CUR_MM=%date:~4,2%
set CUR_DD=%date:~7,2%
set LOG_FILE=C:\TEMP\StopStartPool_%CUR_YYYY%%CUR_MM%%CUR_DD%.log 

echo Stopping App Pool: %date% %time% >> %LOG_FILE%
cd %windir%\system32\inetsrv 
appcmd stop apppool /apppool.name:TestMER1
IF %ERRORLEVEL% NEQ 0 (
  echo Error Occurred while stopping pool - %ERRORLEVEL%: %date% %time% >> %LOG_FILE%
  echo Rerunning Stop Command: %date% %time% >> %LOG_FILE% 
  TIMEOUT /T 30
  cd %windir%\system32\inetsrv 
appcmd stop apppool /apppool.name:TestMER
IF %ERRORLEVEL% EQU 0 ( echo Application pool has stopped on rerun >> %LOG_FILE% )
)else ( echo Application pool has stopped: %date% %time% >> %LOG_FILE% )


TIMEOUT /T 60

echo Starting App Pool: %date% %time% >> %LOG_FILE%
cd %windir%\system32\inetsrv 
appcmd start apppool /apppool.name:TestMER1
IF %ERRORLEVEL% NEQ 0 (
  echo Error Occurred while starting pool - %ERRORLEVEL%: %date% %time% >> %LOG_FILE%
  echo Rerunning Start Command: %date% %time% >> %LOG_FILE% 
    TIMEOUT /T 30
  cd %windir%\system32\inetsrv 
appcmd start apppool /apppool.name:TestMER
IF %ERRORLEVEL% EQU 0 ( echo Application pool has Started on rerun >> %LOG_FILE% )
)else ( echo Application pool has Started: %date% %time% >> %LOG_FILE% )

echo -----------------Finished--------------------- >> %LOG_FILE%

Вот журнал, который я получаю в файле,

Остановка пула приложений: вт 30/04/2019 3: 18: 38,61
Произошла ошибка при остановке пула - 1168: вт 30/04/2019 3: 18: 38,81
Команда повторного останова: вт 30/04/2019 3: 18: 38,81
Запуск пула приложений: вт 30/04/2019 3: 20: 08.13
Произошла ошибка при запуске пула - 1168: вт 30/04/2019 3: 20: 08.41
Команда повторного запуска: Вт 30.04.2009, 3: 20: 08.41

Скрипт работает, как и ожидалось, просто он не регистрируется ниже результата кода

IF %ERRORLEVEL% EQU 0 ( echo Application pool has stopped on rerun >> %LOG_FILE% )
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...