• ベストアンサー

DOSバッチのインターバルは可能?

お世話になります。 WindowsのDOSでバッチファイルを作成しています。 バッチファイルの中で自動的に10秒間待機してから実行したいのですがそのようなコマンドはあるのでしょうか。 いろいろ調べておりますが見当たりませんのでこちらで質問させて頂きました。 ご教授宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
noname#208124
noname#208124
回答No.3

FORの中では%TIME%でなく!TIME!を使いましょう 詳細はSET /?を読んでください

その他の回答 (3)

  • cbd_mei
  • ベストアンサー率55% (143/259)
回答No.4

私がやっている方法としては、とりあえず10秒ほどまてばいいや 的な考えて ping localhost -n 10 >NUL と実行しています。 PING を10回実行して >NUL で実行結果を表示しないようにしているだけですが 別のvbsやexeを利用したくなかったのでこのような方法にしました。 forでいろいろやってもよかったのですが・・・

  • Yorisin
  • ベストアンサー率54% (364/663)
回答No.2

普通に echo %time% で出来ませんか? 私の環境では経過後の時間でちゃんと出ますが。 * SleepSupporterを使用して五秒待ったときの例 @echo off echo %time% SleepSupporter.exe 5 echo %time% pause

toshi_200578
質問者

補足

ご回答ありがとうございます。 IF文の中で時間を表示すると同じ時間しか表示されなそうです。。 これは仕様なのでしょうか。それとも私の勘違いかもしれません。 COPY AAA.txt BBB.txt IF %ERRORLEVEL% == 0 ( ECHO 正常終了 ) ELSE ( ECHO %TIME% sleep.vbs 10000 ECHO %TIME% )

  • Yorisin
  • ベストアンサー率54% (364/663)
回答No.1

バッチ単体での解決が難しそうだったので、私はコレを使いました。 http://www.vector.co.jp/soft/win31/util/se282165.html

toshi_200578
質問者

補足

ご回答ありがとうございます。 WScript.sleepで解決できました。ありがとうございました。 追加の質問で恐縮ですが新たな問題が発生しまして。。 10秒間待機はできたのですがその後の処理で時間を表示しているところがありまして10秒後の時間を表示したいのですが実行時?の時間が表示されてしまいます。 例) (1)処理1実行(時間:11:10:01) (2)10秒待機 (3)処理2実行(時間:11:10:01) (4)10秒待機 (5)処理3実行(時間:11:10:01) 時間表示は%TIME%を使用していますが実行開始時の時間ではなくその時の時間を取得したいです。 ご教授宜しくお願い致します。

関連するQ&A