2

数分待ってからコマンドを実行するバッチファイルを作りたい。どうすればいいですか?具体的には、ファイルを開いてから3分で別のプログラムを終了させたいです。

4

4 に答える 4

7

を使用しtimeoutます。これにより、パラメーターで指定された秒数だけ待機/tできます。 timeout /t 1803分間(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
于 2012-05-11T22:47:15.560 に答える
5

もう1つの方法は、無効なIPアドレスに一定時間pingを実行することです。

PING 1.1.1.1 -n 1 -w 60000 >NUL

60000=ミリ秒

于 2012-05-11T22:37:50.500 に答える
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

あなたが本当にこの答えを楽しんでくれることを願っています

于 2014-03-01T15:11:18.330 に答える
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
于 2015-06-27T23:39:52.110 に答える