人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

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

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

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

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

●質問者: nil55
●カテゴリ:コンピュータ
✍キーワード:AT Windows コマンド バッチ 現在
○ 状態 :終了
└ 回答数 : 5/5件

▽最新の回答へ

1 ● utagawh
●40ポイント

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 / ユーティリティ)

http://www.piedey.co.jp/softs/sleep001.html

Sleep Version 0.1

◎質問者からの返答

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

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

ありがとうございます。


2 ● LiaFox
●30ポイント

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

Microsoft Windows ファミリ ホーム

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

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

ということでしょうか?

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

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

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


ping localhost -n 300 > nul


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

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

◎質問者からの返答

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

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


3 ● aki73ix
●30ポイント

http://nifberry.727.net/download/waitsec.lzh

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


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


waitsec 指定秒


で 指定秒間待機します


5分なら

waitsec 300 です


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

◎質問者からの返答

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

これすごすぎ…ですよ。


4 ●
●70ポイント

http://homepage1.nifty.com/jak/batch/time.html#2

$B%P%C%A$G;~9o4X78$NA`:n(J

上記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のフルパスを設定してください。

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

◎質問者からの返答

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

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

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

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


5 ● masanobuyo
●30ポイント

http://www.goo.ne.jp/

goo

サイトはダミーです。


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


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時をまたぐ場合、うまく行かないかも知れません。

◎質問者からの返答

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

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

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

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ