デスクトップでプログラムを実行するバッチファイルを作成していますxyz.exe
4時間後、1時間閉じてプロセスを繰り返します。これが私のスクリプトです。
:a
START C:\Users\Mukul\Desktop\xyz.exe
SLEEP 14400
taskkill /F /IM xyz.exe
SLEEP 3600
goto :a
here によると、スクリプトは待機する必要があります。それはまた言う:
SLEEP 10
次のコマンドの実行を10秒遅らせます。そう SLEEP 14400
は、実行を4時間遅らせる必要があります。
現在の結果:最初のコマンドが完了するとすぐに次のコマンドが実行されます。
望ましい結果:次のコマンドは、最後のコマンドを実行する前に4時間待機する必要があります。
timeout
を使用することもできます。
次に例を示します。
@echo off
echo Hi
timeout /t 1 /nobreak > nul
/t
は必須ではありません
1は待機する秒数
/nobreak
は、ユーザーが待機をスキップできないようにします
> nul
出力を何にもリダイレクトしないため、何も表示されません
お使いのWindowsバージョンでは、SLEEPコマンドがサポートされていない場合があります。これを試して:
:a
START C:\Users\Mukul\Desktop\xyz.exe
TIMEOUT 14400
taskkill /F /IM xyz.exe
TIMEOUT 3600
goto :a
最初に:BashとBatchは非常に異なる言語です。
今、答え。
秒とミリ秒を簡単に切り替えられるため、ping
コマンドよりもsleep
コマンドの方が好きです。
ping -n 11 127.0.0.1>nul
そのコマンドは10秒間一時停止してから再開します。
または:
ping 1.1.1.1 -n 1 -w 10001 >nul
これも10秒間停止しますが、ミリ秒単位です。
いずれかを以下に適合させることができます。
:a
start C:\Users\Mukul\Desktop\xyz.exe
ping -n 14401 127.0.0.1>nul
taskkill /F /IM xyz.exe
ping -n 3601 127.0.0.1>nul
goto a
[〜#〜] disclaimer [〜#〜]:私は持っています[〜#〜] not [〜#〜]最後のコードを試しましたt何かをするために4時間余分に時間があります)。