dos的bat执行%time%时间不会更新

ping.bat文件为:

@echo off
(for /f "delims=" %%i in (hosts1.txt) do (
echo ping %%i @ %date% %time%
ping %%i
))>>tracert1.log
echo 跟踪结束
exit

host1.txt文件为
www.baidu.com
www.sina.com.cn

执行ping.bat之后,时间不会更新:
ping www.baidu.com @ 2019-05-30 17:08:52.17

正在 Ping www.a.shifen.com [183.232.231.172] 具有 32 字节的数据:
请求超时。
请求超时。
请求超时。
请求超时。

183.232.231.172 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 0,丢失 = 4 (100% 丢失),
ping www.sina.com.cn @ 2019-05-30 17:08:52.17

正在 Ping spool.grid.sinaedge.com [112.25.53.229] 具有 32 字节的数据:
请求超时。
请求超时。
请求超时。
请求超时。

112.25.53.229 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 0,丢失 = 4 (100% 丢失),

请问%time%显示的时间为什么不会更新的?

@echo off
setlocal enabledelayedexpansion
(for /f "delims=" %%i in (hosts1.txt) do (
echo ping %%i @ !date! !time!
ping %%i
))>>tracert1.log
echo 跟踪结束
exit