web-dev-qa-db-ja.com

バッチファイルで現在の時刻を印刷する方法は?

バッチファイルで時間を出力する必要がありますが、コマンドプロンプトで構文が間違っていると表示されます。ここに私がこれまでに持っているコードがあります:

@echo %time%
ping -n 1 -w 1 127.0.0.1 1>nul
@echo %time%
pause
cls

なぜ機能しないのかわかりません、助けてください。

35
user2975367

コマンドを使用する場合

time /T

それは時間を出力します。 (/ Tなしで、時間を設定しようとします)

date /T

日付についても同様です。

Cmdのコマンド拡張が有効になっている場合(デフォルトでは有効になっていますが、この質問では無効になっているように見えます)、環境変数%DATE%および%TIME%は、毎回現在の日付と時刻に展開されます展開されます。使用される形式は、DATEおよびTIMEコマンドと同じです。

コマンド拡張機能が有効な場合に存在する他の動的環境変数を確認するには、set /?を実行します。

45
chwarr

これはWindows 10、8.x、7で動作します。

@echo Started: %date% %time%
.
.
.
@echo Completed: %date% %time%
61
Erik Anderson

あなたの質問が答えられたかどうかわからない。

これにより、ping_ip.txtファイルに20秒ごとに時刻と日付が書き込まれます。最後から2番目の行は、同じバッチファイルを再度実行することを示しています。

複数のインスタンスを作成しないようですので、それは良いことです。

@echo %time% %date% >>ping_ip.txt
ping -n 20 -w 3 127.0.0.1 >>ping_ip.txt
This_Batch_FileName.bat
cls
0
Bill Harding