Add autostart watchdog task
This commit is contained in:
+16
-9
@@ -4,9 +4,12 @@ setlocal
|
||||
cd /d "%~dp0"
|
||||
|
||||
set "TASK_NAME=DocuTranslate"
|
||||
set "WATCHDOG_TASK_NAME=DocuTranslateWatchdog"
|
||||
set "PROJECT_DIR=%~dp0"
|
||||
set "RUN_BAT=%PROJECT_DIR%run.bat"
|
||||
set "RUNNER_BAT=%PROJECT_DIR%autostart_runner.bat"
|
||||
set "WATCHDOG_BAT=%PROJECT_DIR%watchdog.bat"
|
||||
set "SETUP_PS1=%PROJECT_DIR%setup_autostart.ps1"
|
||||
set "LOG_DIR=%PROJECT_DIR%logs"
|
||||
set "LOG_FILE=%LOG_DIR%\autostart.log"
|
||||
|
||||
@@ -22,16 +25,19 @@ if not exist "%RUNNER_BAT%" (
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
if not exist "%LOG_DIR%" mkdir "%LOG_DIR%"
|
||||
if not exist "%WATCHDOG_BAT%" (
|
||||
echo [ERROR] Cannot find "%WATCHDOG_BAT%".
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
REM Create a startup task. Run this file as Administrator.
|
||||
REM The task runs as SYSTEM, so it can start after reboot before desktop login.
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -Command ^
|
||||
"$Action = New-ScheduledTaskAction -Execute 'cmd.exe' -Argument '/c ""%RUNNER_BAT%""';" ^
|
||||
"$Trigger = New-ScheduledTaskTrigger -AtStartup;" ^
|
||||
"$Principal = New-ScheduledTaskPrincipal -UserId 'SYSTEM' -RunLevel Highest;" ^
|
||||
"$Settings = New-ScheduledTaskSettingsSet -StartWhenAvailable -MultipleInstances IgnoreNew;" ^
|
||||
"Register-ScheduledTask -TaskName '%TASK_NAME%' -Action $Action -Trigger $Trigger -Principal $Principal -Settings $Settings -Force | Out-Null"
|
||||
if not exist "%SETUP_PS1%" (
|
||||
echo [ERROR] Cannot find "%SETUP_PS1%".
|
||||
pause
|
||||
exit /b 1
|
||||
)
|
||||
|
||||
powershell -NoProfile -ExecutionPolicy Bypass -File "%SETUP_PS1%"
|
||||
|
||||
if not "%ERRORLEVEL%"=="0" (
|
||||
echo.
|
||||
@@ -42,6 +48,7 @@ if not "%ERRORLEVEL%"=="0" (
|
||||
|
||||
echo.
|
||||
echo [OK] Scheduled task "%TASK_NAME%" has been created.
|
||||
echo [OK] Scheduled task "%WATCHDOG_TASK_NAME%" has been created.
|
||||
echo [OK] It will run "%RUNNER_BAT%" at system startup.
|
||||
echo [OK] Log file: "%LOG_FILE%"
|
||||
echo.
|
||||
|
||||
Reference in New Issue
Block a user