Como criar uma caixa de msg de contagem regressiva atrasada, que aciona o arquivo bat

Olá, estou tentando criar uma caixa de mensagem com um botão "ATRASO" Se o usuário não pressionar o botão Atraso, o script iniciará um arquivo em lotes (ou comando)

Portanto, deve ser assim:

Olá, usuário O seu administrador solicitou que você saia deste aplicativo após o trabalho. Detectamos que você ainda está usando o programa. Pressione Atraso se você ainda estiver em sua máquina.

Idealmente, eu gostaria que ele detectasse quando um determinado programa está ativo e só seja ativado se for

obrigado

Aqui está a versão final

@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);

Obrigado a todos que ajudaram a criar isso (grande mensagem para Rojo) e a todos que responderam.

Denslat