2011-06-23 5 views
1

こんにちは私はバッチが初めてで、問題が発生しています。私がやってみたいのは、コマンドtest.exeを24時間以上実行するバッチファイルを書くことです。 24時間タイマーが終了すると、プログラムは終了します。バッチループとタイマー

私はバッチに精通しておらず、これがどう対処できるのだろうと思いました。

答えて

1

バッチファイルのラベルを使用してループを作成します。ループ内で、test.exeを実行します。

実行時間が24時間の場合、実行を開始および停止するスケジュールされたタスクを作成できると思います。いったんスケジュールされたタスクが終了すると、出口がどれほど優雅であるかはわかりません。

3

下記のコードを試してください。タイマーとしてpingを使用し、findスイッチを使用してバックグラウンドで非表示にします。
pingコマンドで再生してタイマーを修正し、%n%変数で再生を終了することができます。
このコードは再実行テスト約30分ごとに、他の二重がfeasableある場合のみ、4回

@Echo off 
SET n=0 
:Loop 
SET /A n=n+1 
test.exe 
Ping 1.1.1.1 -n 1000 -w 1 | find /V "Request timed out" | find /V "Ping" | find /V "Packets" 
if %n% EQU 4 (
    exit 
) Else if %n% LEQ 3 (
    Goto Loop 
) 
+1

'> nul'で出力を非表示にしてみませんか? –

+0

+1:新しいことを学ぶ – IAbstract

0

知らんを実行...を試みていない...しかし、ここに私のショットですありません。

@Echo off 
FOR /F "tokens=1" %%F IN ('ECHO %date%') DO (
set day=%%F 
) 
FOR /F "tokens=* delims=:." %%F IN ('ECHO %time%') DO (
set thetime=%%F 
) 

:Loop 
START /B "test.exe" 
FOR /F "tokens=1" %%F IN ('ECHO %date%') DO IF %date%==%day% IF %time% GEQ %thetime% (
GOTO Loop 
) Else (
IF NOT "%date%"=="%day%" IF %time% LEQ %thetime% (
GOTO Loop 
) ELSE (
IF NOT "%date%"=="%day%" IF %time% GRT %thetime% (
GOTO:EOF 
) 
) 
関連する問題