@echo off
setlocal EnableDelayedExpansion

:menu
cls
echo ========================================
echo MANAGER ZADAN SYSTEMOWYCH
echo ========================================
echo.
echo Wybierz opcje:
echo.
echo   [1] Lista wszystkich zadan
echo   [2] Szczegoly wybranego zadania
echo   [3] Utworz nowe zadanie
echo   [4] Usun zadanie
echo   [5] Wlacz/Wylacz zadanie
echo   [6] Historia zadania
echo   [7] Wyjdz
echo.
set /p WYBOR="Twoj wybor (1-7): "

if "%WYBOR%"=="1" goto list_tasks
if "%WYBOR%"=="2" goto task_details
if "%WYBOR%"=="3" goto create_task
if "%WYBOR%"=="4" goto delete_task
if "%WYBOR%"=="5" goto toggle_task
if "%WYBOR%"=="6" goto task_history
if "%WYBOR%"=="7" goto end

goto menu

:list_tasks
cls
echo ========================================
echo LISTA WSZYSTKICH ZADAN
echo ========================================
echo.

schtasks /query /fo LIST 2>nul

if errorlevel 1 (
    echo BLAD: Nie mozna pobrac listy zadan
    echo Sprawdz uprawnienia administratora
)

echo.
set /p PAUSE="Nacisnij Enter aby wrocic do menu..."
goto menu

:task_details
cls
echo ========================================
echo SZCZEGOLY ZADANIA
echo ========================================
echo.

set /p TASK_NAME="Podaj nazwe zadania: "

if "%TASK_NAME%"=="" (
    echo Blad: Podaj nazwe zadania
    goto :menu
)

echo.
schtasks /query /tn "%TASK_NAME%" /fo LIST /v 2>nul

if errorlevel 1 (
    echo.
    echo BLAD: Zadanie '%TASK_NAME%' nie znaleziono
)

echo.
set /p PAUSE="Nacisnij Enter aby wrocic do menu..."
goto menu

:create_task
cls
echo ========================================
echo TWORZENIE NOWEGO ZADANIA
echo ========================================
echo.

set /p TASK_NAME="Nazwa zadania: "
if "%TASK_NAME%"=="" (
    echo Blad: Podaj nazwe zadania
    goto :menu
)

set /p TASK_CMD="Polecenie do wykonania: "
if "%TASK_CMD%"=="" (
    echo Blad: Podaj polecenie
    goto :menu
)

set /p TASK_SCHEDULE="Harmonogram ^(DAILY, WEEKLY, ONCE, ONSTART^): "
if "%TASK_SCHEDULE%"=="" set "TASK_SCHEDULE=DAILY"

set /p TASK_TIME="Godzina uruchomienia ^(np. 09:00^): "
if "%TASK_TIME%"=="" set "TASK_TIME=09:00"

echo.
echo Tworzenie zadania '%TASK_NAME%'...
echo Polecenie: schtasks /create /tn "%TASK_NAME%" /tr "%TASK_CMD%" /sc %TASK_SCHEDULE% /st %TASK_TIME%

schtasks /create /tn "%TASK_NAME%" /tr "%TASK_CMD%" /sc %TASK_SCHEDULE% /st %TASK_TIME% >nul 2>&1

if errorlevel 1 (
    echo.
    echo BLAD: Nie mozna utworzyc zadania
    echo Sprawdz uprawnienia administratora
) else (
    echo.
    echo Zadanie '%TASK_NAME%' utworzone pomyslnie!
)

echo.
set /p PAUSE="Nacisnij Enter aby wrocic do menu..."
goto menu

:delete_task
cls
echo ========================================
echo USUWANIE ZADANIA
echo ========================================
echo.

set /p TASK_NAME="Nazwa zadania do usuniecia: "

if "%TASK_NAME%"=="" (
    echo Blad: Podaj nazwe zadania
    goto :menu
)

echo.
echo UWAGA: Nastepujace zadanie zostanie usuniete:
echo   Nazwa: %TASK_NAME%
echo.

set /p CONFIRM="Na pewno usunac? ^(T/N^): "

if /i not "%CONFIRM%"=="T" (
    echo Anulowano
    goto menu
)

echo.
schtasks /delete /tn "%TASK_NAME%" /f 2>nul

if errorlevel 1 (
    echo BLAD: Nie mozna usunac zadania
) else (
    echo Zadanie '%TASK_NAME%' usuniete pomyslnie!
)

echo.
set /p PAUSE="Nacisnij Enter aby wrocic do menu..."
goto menu

:toggle_task
cls
echo ========================================
echo WLACZANIE/WYLACZANIE ZADANIA
echo ========================================
echo.

set /p TASK_NAME="Nazwa zadania: "

if "%TASK_NAME%"=="" (
    echo Blad: Podaj nazwe zadania
    goto :menu
)

echo.
echo Wybierz akcje:
echo   [1] Wlacz zadanie
echo   [2] Wylacz zadanie
set /p ACTION="Twoj wybor (1/2): "

if "%ACTION%"=="1" (
    echo.
    echo Wlaczanie zadania '%TASK_NAME%'...
    schtasks /change /tn "%TASK_NAME%" /enable >nul 2>&1
    if errorlevel 1 (
        echo BLAD: Nie mozna wlaczyc zadania
    ) else (
        echo Zadanie '%TASK_NAME%' wlaczone!
    )
) else if "%ACTION%"=="2" (
    echo.
    echo Wylaczanie zadania '%TASK_NAME%'...
    schtasks /change /tn "%TASK_NAME%" /disable >nul 2>&1
    if errorlevel 1 (
        echo BLAD: Nie mozna wylaczyc zadania
    ) else (
        echo Zadanie '%TASK_NAME%' wylaczone!
    )
)

echo.
set /p PAUSE="Nacisnij Enter aby wrocic do menu..."
goto menu

:task_history
cls
echo ========================================
echo HISTORIA ZADANIA
echo ========================================
echo.

set /p TASK_NAME="Nazwa zadania: "

if "%TASK_NAME%"=="" (
    echo Blad: Podaj nazwe zadania
    goto :menu
)

echo.
echo Historia zadania '%TASK_NAME%':
echo.

schtasks /query /tn "%TASK_NAME%" /fo LIST /v 2>nul

if errorlevel 1 (
    echo.
    echo BLAD: Zadanie '%TASK_NAME%' nie znaleziono
)

echo.
set /p PAUSE="Nacisnij Enter aby wrocic do menu..."
goto menu

:end
echo.
echo Dziekuje za skorzystanie!
endlocal
exit /b 0