Following How do I run two commands in one line in Windows CMD?,
It is natural to think that, if to set and use time in one line, it'll be
set cur_time=%time% && echo %cur_time%
However, to my greatest surprise, it is not the case at all. Take a look:
set cur_time=%time% && set cur_time && echo %cur_time%
cur_time=22:17:37.29
%cur_time%
set cur_time=%time% && set cur_time && echo %cur_time%
cur_time=22:17:40.09
22:17:37.29
set cur_time=%time% && set cur_time && echo %cur_time%
cur_time=22:17:52.25
22:17:40.09
set cur_time=%time% && set cur_time & echo %cur_time%
cur_time=22:19:37.50
22:17:52.25
I verified that the set cur_time
output is correct.
However, why echo %cur_time%
always output the previous value?
How to make set and use time variable in one line works?