
バッチファイルで最新の現在時刻を表示したいのですが、うまく行きません。
そのバッチファイル自体を実行した時刻ではなく、そのバッチファイル内のコマンド等を実行した時刻を表示させたいのです。つまりどんどん時間を最新に近いものに更新させていって欲しいのです。
タスクスケジューラのようなものをバッチファイルで作りたくて、現在時刻が○○時であればこのコマンドを実行する、といったことがしたい訳です。
バッチファイルは実行してすぐ終了するのではなく、そのまま常駐するような形を想定しています。
なにか良い方法はないでしょうか。
■ 5秒おきに現在時刻を表示するバッチファイルの例 (同じ時刻になってしまう)
@echo off
:start
set time=%time: =0%
echo .
echo .
echo .「現在時刻は%time:~-11,2%時%time:~-8,2%分%time:~-5,2%秒です。」
echo .
echo .
ping localhost -n 5
goto start
No.1ベストアンサー
- 回答日時:
>set time=%time: =0%
せっかく、動的な時刻を返してくれる time という環境変数があるのに、それを上書きしてしまっているからです。変数名を変えてください。
set t=%time: =0%
など。
set /? の後ろの方に説明があります。
>これらの変数の値は、変数の値が展開されるときに動的に計算されます。
>ユーザーがこれらの名前の変数を明示的に定義する場合、その定義は下記の動的な定義を無効にします。
ご回答ありがとうございます。
環境変数「time」を上書きしてしまっていた為、このような事が起こっていたのですね。よく分かりました。ありがとうございました。
私が環境変数「time」を使い始めたきっかけが、ファイル名に現在日時を入れたいという理由だったので、その時にファイル名に半角スペースが入ってしまい、あまりファイル名として好ましくないと思ったので、自分の中の決まり事として、環境変数「time」を使う場合は必ず「set t=%time: =0%」を使うように心掛けていました。でもそれが今回裏目に出た様です。
インターネットで検索したのですが、今回の解決策に辿りつけませんでした。なので大変助かりました。ご回答、本当にありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
コマンドプロンプト標準出力と...
-
バッチでテキストファイルから...
-
DOSのバッチで、テキストファイ...
-
バッチファイルで昨日の日付を取得
-
コマンドプロンプトで2ヶ月前3...
-
バッチファイルでDirで取得した...
-
IPアドレスの第3オクテットだ...
-
コマンドプロンプト画面の閉じ...
-
コマンドプロンプト(バッチファ...
-
エクセルのVBAについて とある...
-
コマンドプロンプトの「%1」と...
-
コマンドプロンプトのエラーに...
-
大量のフォルダからひとつのフ...
-
チームズのチャット画面にファ...
-
Thunderbirdで社内共有フォルダ...
-
#include <Windows.h>というヘ...
-
.txtではなく.logの方が良いの...
-
「win11-23H2」を「win11-24H2...
-
[teraterm] waitコマンドで停止...
-
xcopyで特定のファイルのみをコ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
バッチでテキストファイルから...
-
バッチファイルで昨日の日付を取得
-
コマンドプロンプト標準出力と...
-
VBアプリケーションで終了コー...
-
バッチファイルで常に最新の現...
-
バッチファイルでDirで取得した...
-
コマンドプロンプトで2ヶ月前3...
-
DOSのバッチで、変数中のファイ...
-
IPアドレスの第3オクテットだ...
-
絶対パス名からファイル名を取...
-
バッチファイル テキストファイ...
-
呼び出し元バッチを知るには?
-
子バッチ内のキー入力処理へ自...
-
コマンドプロンプト画面の閉じ...
-
C#でメジャーなバッチフレーム...
-
それでは早速、フォルダを作る...
-
echoとsystem関数について
-
Excelで住所録を地域ごとに振り...
-
Windowsのバッチで環境依存パス...
-
バッチファイル(for文)がうま...
おすすめ情報