echo %time% 重複輸出

echo %time% 重複輸出

我有一個命令在開頭和結尾添加時間戳記 ( echo %time% & #other command# & echo %time%)。但是,%time%無論命令執行需要多長時間,結果都是相同的。

範例輸出:

Time start: 19:48:31.75

Pinging google.com [2a00:1450:400e:80c::200e] with 32 bytes of data:
Reply from 2a00:1450:400e:80c::200e: time=13ms
Reply from 2a00:1450:400e:80c::200e: time=13ms
Reply from 2a00:1450:400e:80c::200e: time=9ms
Reply from 2a00:1450:400e:80c::200e: time=10ms

Ping statistics for 2a00:1450:400e:80c::200e:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 9ms, Maximum = 13ms, Average = 11ms

Time end: 19:48:31.76

有沒有辦法在一行內完成這項工作?

謝謝

答案1

CMD 擴展變數然後執行每一行。這意味著

echo %time% & ping 127.0.0.1 & echo %time%

首先展開,然後執行

還有“延遲擴張” 這是一些範例用法,甚至更詳細 然而,這僅適用於 cmd 文件,不適用於命令列

setlocal ENABLEDELAYEDEXPANSION
echo !time! & ping 127.0.0.1 & echo !time!

繼續搜尋也許 cmd /V可以使用:

cmd /V /C "echo %time% & ping 127.0.0.1 & echo !time!"

它為我提供了預期的結果,但可能存在阻礙某些用例的問題。

相關內容