匿名質問者

バッチファイルでリアルタイムに時刻を取得する方法。

バッチファイルでリアルタイムに時刻を取得(または、環境変数timeをリアルな時刻に書き換え)する方法を教えてください。
例)
@rem ここでは23:00:00と表示される。
echo %time%
@rem 1秒待って、
ping localhost -n 1
@rem ここでは23:00:01と表示されてほしい。
echo %time%

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2012/07/29 20:53:23

ベストアンサー

匿名回答3号 No.2

遅延環境変数の展開を有効にして(%time%ではなく)!time!で変数を展開すればできます。

C:\> cmd /V:ON
C:\> for /l %i in (1, 1, 5) do echo !time!&ping localhost -n 2 >nul

その他の回答1件)

匿名回答1号 No.1

質問にあるとおりだと思う。

ただ ウェイト時間が短かったんじゃないかな?

ちなみに 質問のを実行してみると
最初のが 8:28:20.81
次のが 8:28:20.96
でちゃんとリアルタイムの時刻が表示されている。

匿名回答3号 No.2

ここでベストアンサー

遅延環境変数の展開を有効にして(%time%ではなく)!time!で変数を展開すればできます。

C:\> cmd /V:ON
C:\> for /l %i in (1, 1, 5) do echo !time!&ping localhost -n 2 >nul
  • 匿名回答2号
    匿名回答2号 2012/07/29 07:55:24
    OSは?
  • 匿名質問者
    匿名質問者 2012/07/29 08:31:05
    すみません。例が間違ってました..

    for /l %i in (1, 1, 5) do echo %time%&ping localhost -n 2 >nul

    環境はWindows2003R2x86です。
  • 匿名回答1号
    匿名回答1号 2012/07/30 09:02:34
    それが 間違ってんじゃん。

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

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

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

回答リクエストを送信したユーザーはいません