Как мне создать поле задержки с обратным отсчетом, которое запускает bat-файл

Привет! Я пытаюсь создать окно сообщения с кнопкой «ЗАДЕРЖКА». Если пользователь не нажал кнопку «Задержка», скрипт запустит пакетный файл (или команду).

Так и должно быть так:

Привет, пользователь! Ваш администратор попросил вас выйти из этого приложения после работы, мы обнаружили, что вы все еще используете программу, нажмите «Задержка», если вы все еще на своем компьютере.

В идеале я хотел бы, чтобы он определял, когда активна определенная программа, и активировал только, если это

Спасибо

Вот финальная версия

@if (@CodeSection == @Batch) @then
@echo off
setlocal

for /f %%I in ('forfiles /p "%~dp0." /m "%~nx0" /c "cmd /c echo 0x07"') do set "beep=%%I"
set /P "=%beep%"<NUL
set /P "=%beep%"<NUL
set /P "=%beep%"<NUL
setlocal
set "task=agent.exe"
set "timeout=120"
rem // Is %task% running?
tasklist /fi "imagename eq %task%" | find /i "%task%" >NUL && (

    rem // Re-launch script with JScript interpreter
    wscript /e:JScript /nologo "%~f0" %timeout% || (
        rem // If timeout or user hits No, kill %task%
        taskkill /im "%task%" /f
    )
)

rem // End main runtime

goto :EOF

rem // Begin JScript portion
@end
var osh = WSH.CreateObject('WScript.Shell'),
    nag = 'Greetings!  Your administrator has requested you to log out of Touchstar '
        + 'after work.  It appears you are still using it.'
        + ' If you are still here, Press Yes to continue working.\n\n'
        + 'Otherwise, press no to close touchstar.'
        + 'Touchstar will close automatically in less than ' + WSH.Arguments(0) + ' seconds.';
    popup = osh.Popup(nag, WSH.Arguments(0), 'Are you still here?', 0x4 + 0x20 + 0x1000);
WSH.Quit(popup - 6);

Спасибо всем, кто помог создать это (большой привет Рохо), и всем, кто ответил.

Denslat