- ベストアンサー
DOSバッチのインターバルは可能?
お世話になります。 WindowsのDOSでバッチファイルを作成しています。 バッチファイルの中で自動的に10秒間待機してから実行したいのですがそのようなコマンドはあるのでしょうか。 いろいろ調べておりますが見当たりませんのでこちらで質問させて頂きました。 ご教授宜しくお願い致します。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
FORの中では%TIME%でなく!TIME!を使いましょう 詳細はSET /?を読んでください
その他の回答 (3)
- cbd_mei
- ベストアンサー率55% (143/259)
私がやっている方法としては、とりあえず10秒ほどまてばいいや 的な考えて ping localhost -n 10 >NUL と実行しています。 PING を10回実行して >NUL で実行結果を表示しないようにしているだけですが 別のvbsやexeを利用したくなかったのでこのような方法にしました。 forでいろいろやってもよかったのですが・・・
- Yorisin
- ベストアンサー率54% (364/663)
普通に echo %time% で出来ませんか? 私の環境では経過後の時間でちゃんと出ますが。 * SleepSupporterを使用して五秒待ったときの例 @echo off echo %time% SleepSupporter.exe 5 echo %time% pause
- Yorisin
- ベストアンサー率54% (364/663)
バッチ単体での解決が難しそうだったので、私はコレを使いました。 http://www.vector.co.jp/soft/win31/util/se282165.html
補足
ご回答ありがとうございます。 WScript.sleepで解決できました。ありがとうございました。 追加の質問で恐縮ですが新たな問題が発生しまして。。 10秒間待機はできたのですがその後の処理で時間を表示しているところがありまして10秒後の時間を表示したいのですが実行時?の時間が表示されてしまいます。 例) (1)処理1実行(時間:11:10:01) (2)10秒待機 (3)処理2実行(時間:11:10:01) (4)10秒待機 (5)処理3実行(時間:11:10:01) 時間表示は%TIME%を使用していますが実行開始時の時間ではなくその時の時間を取得したいです。 ご教授宜しくお願い致します。
補足
ご回答ありがとうございます。 IF文の中で時間を表示すると同じ時間しか表示されなそうです。。 これは仕様なのでしょうか。それとも私の勘違いかもしれません。 COPY AAA.txt BBB.txt IF %ERRORLEVEL% == 0 ( ECHO 正常終了 ) ELSE ( ECHO %TIME% sleep.vbs 10000 ECHO %TIME% )