如何将计时器添加到批处理文件?

时间:2012-05-11 22:27:18

标签: file batch-file timer

我想制作等待几分钟的批处理文件,然后执行命令。我该怎么做?具体来说,我希望它在打开文件后3分钟内结束另一个程序。

4 个答案:

答案 0 :(得分:6)

使用timeout。这将让你等待它的/t参数中给出的秒数。 timeout /t 180将睡3分钟(180秒)。

TIMEOUT [/T] timeout [/NOBREAK]

Description:
    This utility accepts a timeout parameter to wait for the specified
    time period (in seconds) or until any key is pressed. It also
    accepts a parameter to ignore the key press.

Parameter List:
    /T        timeout       Specifies the number of seconds to wait.
                            Valid range is -1 to 99999 seconds.

    /NOBREAK                Ignore key presses and wait specified time.

    /?                      Displays this help message.

NOTE: A timeout value of -1 means to wait indefinitely for a key press.

Examples:
    TIMEOUT /?
    TIMEOUT /T 10
    TIMEOUT /T 300 /NOBREAK
    TIMEOUT /T -1

答案 1 :(得分:4)

另一种方法是在一段时间内ping无效的IP地址:

PING 1.1.1.1 -n 1 -w 60000 >NUL

60000 =毫秒

答案 2 :(得分:1)

嗨我喜欢stockoverflow,但有时答案太简洁了...所以比你要求的更多......计时器和许多其他剪辑

@ECHO off
MODE CON:COLS=25 LINES=11
cls
color 0B
:taskkill
echo.
echo    Program To Shutdown
echo.
set /p taskkill=                               
if "%taskkill%" == "%taskkill%" goto taskkillconfirm
exit
:taskkillconfirm
color 0B
:image
set image=/im
if "%image%" == "%image%" goto imageconfirm
exit
:imageconfirm
color 0B
:forced
set forced=/f
if "%forced%" == "%forced%" goto forcedconfirm
exit
:forcedconfirm
cls
:hour
color 0B
echo.
echo.                                  Hours?
echo.
set /p hour=                                     
:min
color 0B
cls
echo.
echo                                   Minutes?
echo.
set /p min=                                     
:sec
color 0B
cls
echo.
echo                                   Seconds?
echo.
set /p sec=                                     
:continue
color 0B
cls                                                             
echo                             %taskkill%  
echo                             Program Shutdown in                                                             
echo   %hour%   Hours
echo   %min%  Minutes  
echo   %sec%  Seconds
set /a sec="%sec%-1"
if %sec%==-1 set /a min="%min%-1"
if %sec%==-1 set /a sec="59"
if %min%==-1 set /a hour="%hour%-1"
if %min%==-1 set /a min="59"
if %hour%==-1 goto done
ping -n 2 127.0.0.1 >NUL
goto continue
:done
color 0B
cls
taskkill %image% %taskkill% %forced%
exit

希望你真的很喜欢这个答案

答案 3 :(得分:0)

简单,试试这个

@echo off
echo Do you want to read word file or pdf file? Hit any key for options...
pause >nul
echo w for word
echo p for pdf
::set input =
set /p input = Choose your option
if %input% == w goto w
if %input% == p goto p
:w
echo Reading Word file...
::start /your/path/to/your/Office/winword.exe          
/path/to/your/doc/file/filename.doc
echo Timer starts
pause >nul
echo 10
ping localhost -n 2 >nul
cls
echo 9
ping localhost -n 2 >nul
cls
echo 8
ping localhost -n 2 >nul
cls
echo 7
ping localhost -n 2 >nul
cls
echo 6
ping localhost -n 2 >nul
cls
echo 5
ping localhost -n 2 >nul
cls
echo 4
ping localhost -n 2 >nul
cls
echo 3
ping localhost -n 2 >nul
cls
echo 2
ping localhost -n 2 >nul
cls
echo 1
ping localhost -n 2 >nul
cls
echo Time's up. Starting the next document...
::you can copy/paste the above commands to start another word file
:p
echo Reading Pdf file...
echo Timer starts
::start /your/path/to/your/Acrobat/acrord32.exe    
/path/to/your/pdf/file/filename.pdf
pause >nul
echo 10
ping localhost -n 2 >nul
cls
echo 9
ping localhost -n 2 >nul
cls
echo 8
ping localhost -n 2 >nul
cls
echo 7
ping localhost -n 2 >nul
cls
echo 6
ping localhost -n 2 >nul
cls
echo 5
ping localhost -n 2 >nul
cls
echo 4
ping localhost -n 2 >nul
cls
echo 3
ping localhost -n 2 >nul
cls
echo 2
ping localhost -n 2 >nul
cls
echo 1
ping localhost -n 2 >nul
cls
echo Times up. Starting the next document...
::you can copy/paste the above commands to start another Pdf file