バッチファイルを数秒間待機/スリープさせるにはどうすればよいですか?


57

バッチファイルを使用して、バックグラウンドで実行する必要があるいくつかのプログラムを起動します。これまで、他のいくつかのスタートアップが終了した後に、pauseコマンドを使用して実行していました。waitコマンドまたはsleepコマンドを使用したいのですが、Windows 7には含まれていないようです。

誰もがそれらのコマンドを戻す方法、または同じ結果を達成する別の方法を知っていますか?


1
:それとも、PowerShellを使用することができstackoverflow.com/questions/1741490/...
Berzemus

sleep.exeは、system32フォルダーまたはプログラムファイル/標準の場所で2017年からデフォルトとしてMSによって提供されたものです。シンプルなC exe 40k程度!
tgkprog

このようにsleepcmd.com
tgkprog

回答:


30

System32フォルダーにダウンロードしてドロップできるスリープユーティリティは多数あります。1つは、というWindows Server 2003リソースキットで提供されsleep.exeます。

pingトリックも使用できます。

:sleep
ping 127.0.0.1 -n 2 -w 1000 > NUL
ping 127.0.0.1 -n %1 -w 1000 > NUL

バッチファイルのどこからでも、次のように呼び出すことができます。

CALL :sleep 1

1
pingトリックは一時的な解決策として使用できますが、当面は忙しい作業をさせるのではなく、プロセスを中断したほうがよいでしょう。また、あなたがリンクしたリストのどのアイテムが私が探していたものでしたか?
セゴラハ

sleep.exeが必要です
ジョンT

テストバッチファイルから睡眠1、それは「 - SLEEPバッチ指定されたラベルが見つかりません」と答えた:私は、CALLを試してみました
Cegorach

上に投稿したサブルーチンを追加する必要があるからです。Callはサブルーチンを呼び出すだけです。これは、callコマンドの上に投稿した3行です。
ジョンT

126

timeout次のコマンドを使用できます。

このユーティリティは、指定された期間(秒単位)またはキーが押されるまで待機するタイムアウトパラメータを受け入れます。また、キーの押下を無視するパラメーターも受け入れます。

たとえば、10秒間待つには:

TIMEOUT /T 10

詳細については:

TIMEOUT /?

1
なぜこれが正しい答えとして選ばれないのですか?あなたが私に尋ねると、現在のものははるかにフェッチされます
ダニーハライフ

7
@Dany:トピックはほとんどのインストールがXPだった2009年からです。Vistaより前のタイムアウトは、通常のXPインストールではなく、サーバーエディションとリソースキットにのみ含まれていました。今日では、確かに、正しい答えはタイムアウトです。
mivk

6
@DanyKhalifeバックグラウンドでプロセスを実行する場合を除きます。「エラー:入力リダイレクトはサポートされていません。プロセスをすぐに終了します。」
アナン


6

もあります

waitfor SomethingThatIsNeverHappening /t 10

1〜99999秒待機します。



-1

Pythonがインストールされている場合(および環境変数にインストールパスを追加した場合)、次のような方法でPythonにスリープを実行させることができます。

echo from time import sleep; sleep(3) | python

(Windows Vista以降を使用している場合timeoutは、当然のことです。)

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.