2015-02-11 2 views
1

Как можно открыть окно сообщения с таймером, используя командный файл? Я пытаюсь создать командный файл, который открывает командную строку, и после выполнения 2 команд появляется сообщение с таймером, в котором говорится, что Self-Destruct in ... затем воспроизводит звук, затем закрывается Вот что я имею до сих порCmd prompt timer window popup

:cmd 
set /p cmd=command: 

%cmd% 
echo. 
goto cmd2 

:cmd2 

set /p cmd=command: 

%cmd% 
echo. 
+1

[смотреть этот ответ] (http://stackoverflow.com/ a/28323363/1683264) для идей. Нет никакой собственной команды для создания окон предупреждений из пакетного сценария, но вы можете одолжить у Windows Scripting Host (VBScript или JScript), чтобы создать всплывающее окно. – rojo

ответ

2

попробовать это - он принимает только один аргумент - секунды до countdown.Should быть сохранены с расширением .bat:

<!-- : 
:: countdown.bat 
@echo off 

if "%~1" equ "" (
    echo seconds not passed 
    exit /b 1 
) 

echo %*|mshta.exe "%~f0"|more 



exit /b %errorlevel% 
--> 

<html> 
<head><title>It's the final countdown</title></head> 
<body> 

<p>Seconds left</p> 
<div id="countdown">--</div> 
<button onclick='quit()'>QUIT</button> 
    <script language='javascript' type="text/javascript"> 
     function parse() { 
       var seconds=0; 
       try { 
        var fso2= new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(0); 
        argline=fso2.ReadLine(); 
        var args=argline.split(" "); 
        var seconds=parseInt(args[0]); 
        //var fso= new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1); 
        //fso.Write("wait for: " + milliseconds); 
       } catch (err) { 
        errmessage = "cannot get the milliseconds"; 
        var fso= new ActiveXObject('Scripting.FileSystemObject').GetStandardStream(1); 
        fso.Write(errmessage); 
        close(); 
       } 
       seconds = document.getElementById('countdown').innerHTML=seconds; 
       countdown(); 
     } 

    var seconds; 
    var temp; 

    function countdown() { 
    seconds = document.getElementById('countdown').innerHTML; 
    seconds = parseInt(seconds, 10); 

    if (seconds == 1) { 
     temp = document.getElementById('countdown'); 
     close(); 
     //return; 
    } 

    seconds--; 
    temp = document.getElementById('countdown'); 
    temp.innerHTML = seconds; 
    timeoutMyOswego = setTimeout(countdown, 1000); 
    } 

    //countdown(); 
    window.resizeTo(400,250) 
    parse(); 

     function quit() { 
      close(); 
     } 
     //itsTheFinalCountdown(10000); 
    </script> 
</body> 

</html>