あるバッチ(a.bat)を「現在時刻+5分」のような感じで動かしたいのですが何とかならないでしょうか?


ATコマンドで 現在時刻+5分なんて指定できないですよね?

Windowsは2000を使用しています。

よろしくお願い致します。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:2006/01/26 16:02:39
  • 終了:--

回答(5件)

id:utagawh No.1

utagawh回答回数114ベストアンサー獲得回数32006/01/26 16:23:37

ポイント40pt

http://blogs.sqlpassj.org/yamaken/archive/2004/08/17/3771.aspx

メモ: Wscript.Sleep メソッドと 2000/XP/2003 の sleep.exe の待機時間指定

SLEEP.EXEっていうのがあるようです。

上記urlではリソースキット付属のものが紹介されていますが、

下記urlでも同じようなものが入手可能です。

http://www.vector.co.jp/soft/win95/util/se282254.html

sleep(Windows95/98/Me / ユーティリティ)

id:nil55

UNIXみたいなコマンドですねw

なるほどです!解決できそうです!!

ありがとうございます。

2006/01/26 16:36:08
id:LiaFox No.2

LiaFox回答回数14ベストアンサー獲得回数02006/01/26 16:33:44

ポイント30pt

http://www.microsoft.com/japan/windows/default.mspx

Microsoft Windows ファミリ ホーム

アドレスはダミーとなります。

おっしゃりたいのは、指定時刻から五分後に実行させる。

ということでしょうか?

その場合、バッチ内に五分間の待機を入れればよいと思います。

但し、WINDOWSにはwaitコマンドがないため

私の場合以下の姑息な方法でwaitさせてます


ping localhost -n 300 > nul


pingの待機は1秒ですので一応これで5分間待機ができます・・・。

上の例は300秒、つまり五分間pingを流すことで処理をwaitさせます。

id:nil55

なるほど! すごいアイデアです!!

ありがとうございます。これで解決ですねw

2006/01/26 16:48:43
id:aki73ix No.3

aki73ix回答回数5224ベストアンサー獲得回数272006/01/26 16:43:39

ポイント30pt

指定時間待機するコンソールアプリケーションを作ってそれをバッチコマンドの先頭に入れてみてはいかがでしょうか?


例えば、指定秒間待機するソフトを 作ってみました


waitsec 指定秒


で 指定秒間待機します


5分なら

waitsec 300 です


ちなみに、waitsec /t 300 にすると待機残り秒数を画面に表示します

id:nil55

すごい!!! ありがとうございます。

これすごすぎ…ですよ。

2006/01/27 02:11:57
id:bonlife No.4

回答回数421ベストアンサー獲得回数752006/01/26 17:41:20

ポイント70pt

上記URLに良い例がありました。


@echo off

REM n分後の時刻を求める

REM 画面に時刻(HH:MM)を表示する。


REM nの設定

set n=5

REM 現在時刻の取得

for /F ”tokens=1,2 delims=:” %%i in (’time /t’) do set h=%%i && set m=%%j

REM 先頭の0を取り除く

if %h% LSS 10 set h=%h:~1,1%

if %m% LSS 10 set m=%m:~1,1%

REM 5分後の計算

set /a totalm=h*60+m

set /a totalm=totalm+n

REM 時の編集

set /a h=totalm/60

if %h% GEQ 24 set /a h=h-24

if %h% LSS 10 set h=0%h%

REM 分の編集

set /a m=totalm%%60

if %m% LSS 10 set m=0%m%

echo %h%:%m%

at %h%:%m% C:¥tmp¥sample.bat


実行したいbatに上記の内容を付け足せば5分後に実行可能できます。

最後の行に指定するbatには実行したいbatのフルパスを設定してください。

(¥、’、”は実際には半角です。)

id:nil55

おお!! 何もインスールしなくても

なんとかなるものなんですね。

これなら どんな環境でもすぐ実行できます!

非常に助かりました。ありがとうございます。

2006/01/27 02:13:22
id:masanobuyo No.5

masanobuyo回答回数4617ベストアンサー獲得回数782006/01/26 23:01:37

ポイント30pt

サイトはダミーです。


以下のようなバッチファイルはどうでしょうか。


setlocal

set h=%time:~0,2%

set m=%time:~3,2%

set /a t=%h% * 60 + %m% + 5

set /a h=%t% / 60

set /a m= %t% %% 60

at %h%:%m% /interactive 実行したいバッチファイル

endlocal


ただし、午前0時をまたぐ場合、うまく行かないかも知れません。

id:nil55

ありがとうございます!!

これ非常に簡単でいいですねw

助かりました。ありがとうございました!

2006/01/27 02:14:16

コメントはまだありません

この質問への反応(ブックマークコメント)

トラックバック

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

絞り込み :
はてなココの「ともだち」を表示します。
回答リクエストを送信したユーザーはいません