배치파일을 이용해서 특정 URL을 호출하도록 작업 스케줄러에 등록하는 과정을 배치파일로 처리하는 방법이다.
해당 코드는 ChatGPT로 생성했다.
- 두 배치파일은 동일 경로에 존재해야 한다.
## call_url.bat
@echo off
powershell -Command "Invoke-WebRequest -Uri 'http://example.com' -UseBasicParsing"
exit
## setup_schedule.bat
@echo off
:: 현재 스크립트가 있는 디렉토리 경로 가져오기
set "scriptPath=%~dp0"
:: call_url.bat 파일의 절대 경로 지정
set "callUrlScript=%scriptPath%call_url.bat"
:: 예약 작업 이름 지정
set "taskName=CallURLEvery4Hours"
:: 기존 예약 작업 확인 및 삭제
schtasks /query /tn "%taskName%" >nul 2>&1
if %errorlevel%==0 (
echo 기존 예약 작업이 존재합니다. 삭제 중...
schtasks /delete /tn "%taskName%" /f
if %errorlevel%==0 (
echo 기존 예약 작업이 삭제되었습니다.
) else (
echo 기존 예약 작업을 삭제하는 데 실패했습니다.
exit /b 1
)
)
:: 새로운 예약 작업 생성 (PowerShell 창 표시 안 되도록)
schtasks /create /tn "%taskName%" /tr "powershell -WindowStyle Hidden -Command \"Invoke-WebRequest -Uri 'http://example.com' -UseBasicParsing\"" /sc hourly /mo 4 /f
if %errorlevel%==0 (
echo 새로운 예약 작업이 성공적으로 생성되었습니다.
) else (
echo 예약 작업을 생성하는 데 실패했습니다.
exit /b 1
)
pause