乃木坂 スロットk8 カジノ【Windows 11対応】Windowsの「timeout」「sleep」コマンドでバッチファイルの実行を一時停止する仮想通貨カジノパチンコじゃん たま 運

乃木坂 スロットk8 カジノ【Windows 11対応】Windowsの「timeout」「sleep」コマンドでバッチファイルの実行を一時停止する仮想通貨カジノパチンコじゃん たま 運

乃木坂 スロットk8 カジノ【Windows 11対応】Windowsの「timeout」「sleep」コマンドでバッチファイルの実行を一時停止する仮想通貨カジノパチンコじゃん たま 運

海 物語 最新 機k8 カジノ 「Tech TIPS」のインデックス

パチスロ 一時間 回転数連載目次

Windowsの設定を変えると、pingに応答するようになる! Windowsのファイアウォールで「ping」コマンドへの応答を許可する

対象OS:Windows 8.1/Windows 10/Windows 11、Windows Server 2012/Windows Server 2012 R2/Windows Server 2016/Windows Server 2019/Windows Server 2022

■記事内目次スクリプトの実行を一時的に休止させるsleepコマンドWindows OS標準のtimeout.exeコマンドを使うPowerShellのStart-Sleepコマンドレットを使うスクリプトの実行を一時的に休止させるsleepコマンド

 バッチファイルでコマンドを実行する場合、バッチの各行は連続して順番に実行される。その際、いくらか時間待ち(休止、スリープ)をさせたいことがある。そのような場合、UNIXやLinuxなどには「sleep」というコマンドが用意されており、例えば「sleep 60」とするとスクリプトの実行がそこで60秒間休止する。

 sleepの代表的な用途としては、次のようなものが考えられる。

起動したプログラムの作業が完了するのを待つ――アプリケーションによっては、起動後にさまざまな作業を行うためにいくらかの時間を必要とするものがあるため、その準備が整うまで後続の作業を一時休止させる遅延起動させる――あるコマンドを今すぐ実行するのではなく、例えば1時間後に実行したいのなら、先に「sleep 3600」というコマンドを実行させればよい一定間隔ごとに起動させる――例えば「sleep 600」と「ping」コマンド(Tech TIPS「pingコマンドでネットワークトラブルの原因を調査する」参照)などを組み合わせて連続実行させると、10分ごとにネットワークの到達可能性チェックが行える。Windows OSのpingコマンドは、1秒に1回という高い頻度でパケットを送出する。だが、sleepと組み合わせることにより、より長い間隔で送信が可能になる。ping以外にも、例えば「wget」コマンドを使ってサーバの応答時間を調べたり(「Wgetとメールを使ったお手軽サーバ死活監視」参照)、ネットワークの帯域(ダウンロード速度)などを調べたりすることもできるシステムやネットワークの負荷テストなどにおいて、実行頻度を抑制する――休止なしで実行すると、システムやネットワークに対して常に最大負荷がかかることになる。適宜休止時間を挟むことにより、現実に即した負荷を与えられる

 実際に使用すると例えば次のようになるだろう。

sleepを使ったバッチファイルの例

 例えばバッチファイルで10分ごとにあるコマンドを繰り返し実行したい場合は、コマンドとsleep(と同等のコマンド。この例では「powershell sleep ~」)、ループ(goto文)などを組み合わせて利用する。この例では、10分に1回pingコマンドを実行し、結果をログファイルに追記している。ログファイルの内容は、Tech TIPS「tailコマンドでログファイルをリアルタイムに監視する」のような方法を使えばリアルタイムで確認できる。

 Windows OSにはsleepコマンドは標準では用意されていない。だが、その代替となる方法は幾つかある。インターネットなどで検索すればWindows OS向けのsleepプログラムも多数見つかる。とはいえ、OSの標準機能だけでsleepと同等の機能を実現できると、いつでもどの環境でも利用できて便利だ。本Tech TIPSではそれを紹介する。

Windows OS標準のtimeout.exeコマンドを使う

 Windows OSには「timeout.exe」という一定時間待つコマンドが標準で用意されている。Windows Vista/Windows Server 2003以降であれば、インストールなどの事前作業なしですぐ実行できる。

timeoutコマンドのヘルプ

 timeoutコマンドは、単に指定された時間を待つだけでなく、途中で何らかのキー入力をすると、そこで終了する(休止を中断する)。sleepコマンドというよりは、最大待ち時間制限付きのpauseコマンドという感じのコマンドである。timeoutという名前からも分かるように、主にユーザーのキー入力待ちのために作られたコマンドだ。

 timeoutに数値の引数を指定すると、その秒数だけ待つ(引数なしはエラー)。例えば、5秒待ってからメッセージを表示させるには次のようにする。

timeout 5

timeoutコマンドの基本的な使用例

 timeoutとechoコマンドの間にある「&&」は、左側のコマンドの実行が正常終了したら、右側のコマンドを続いて実行するという意味である。ここではインタラクティブに実行するためにこのようにしている。バッチファイル中なら、2行に分けて書いてもよい。

 さてtimeoutコマンドでは、1秒ごとに残り待ち時間を知らせるメッセージが表示される。途中で何らかのキーを押すとそこで中断し(timeoutが終了し)、この場合ならechoコマンドが実行される。

●キーを入力してもtimeoutコマンドを続行させるには

 途中でユーザーのキー操作による中断をさせず、必ず最後までカウントダウンさせるには、「/nobreak」オプションを付ける。

timeout 5 /nobreak

timeoutコマンドで「/nobreak」オプションを指定してキー入力を無視させる

 ただしこの場合でも、[Ctrl]+[C](または[Ctrl]+[Break])キーを押せば中断できる。

●timeoutコマンドのカウントダウンメッセージを非表示にするには

 Linuxなどのsleepコマンドと違い、timeoutコマンドでは前述のようにカウントダウンのメッセージが表示される。バッチファイルなどでは、こうしたメッセージが邪魔になることも多い。その場合は標準出力を「nul」デバイスへリダイレクトする(「>nul」を付ける)と非表示にできる。

timeout 5 /nobreak >nul

timeoutコマンドのカウントダウン表示を抑制するPowerShellのStart-Sleepコマンドレットを使う

 PowerShellには「Start-Sleep」というコマンドレットがあり、引数で指定した秒数だけ休止するという機能を持っている。例えば「Start-Sleep 60」とすると、60秒間休止する。「Start-Sleep -Milliseconds <ミリ秒>」または「Start-Sleep -m <ミリ秒>」とすれば、1ミリ秒(1000分の1秒)単位で休止時間を指定できる(実際にはコマンドのロードタイムなどが必要なので、あまりシビアな待ち時間制御はできない)。

Start-Sleepコマンドレットのヘルプ

 Start-Sleepコマンドレットは「Sleep」というエイリアス(別名)としても定義されている。コマンドプロンプトやバッチファイル中で「sleep 5」を実行したいなら、その前に「powershell」を付ける。

powershell sleep 5

PowerShellのsleep(Start-Sleep)コマンドレットで休止させる

 Start-Sleepコマンドレットに限らず、上記のように先頭に「powershell ~」または「powershell -command ~」を付けると、コマンドプロンプトやバッチファイルからも簡単にPowerShellのコマンドレットを実行できる。

 PowerShellのStart-Sleep(Sleep)コマンドレットはtimeoutコマンドよりもシンプルで、LinuxやUNIXのsleepコマンドに近い。Linux/UNIXに慣れているなら、こちらの方が使いやすいだろう。

■関連リンク

timeoutコマンドのリファレンス(Microsoft Docs)Start-Sleep(sleep)コマンドレットのリファレンス(Microsoft Docs)

■この記事と関連性の高い別の記事

これだけは覚えておきたいWindowsのコマンドプロンプトの使い方(TIPS)【総まとめ】Windowsコマンドプロンプトの入門から使いこなしまでの記事(TIPS)バッチファイルの基本的な使い方(TIPS)

■更新履歴

【2022/03/09】Windows 11などに対応しました。

【2018/02/15】最新状況を反映して更新しました。

【2012/06/08】初版公開。

「Tech TIPS」のインデックス

「Tech TIPS」

仮想通貨カジノパチンコパチンコ 屋 臨時 休業