首页 > 解决方案 > 时间环境变量未按预期工作

问题描述

我尝试使用 Windows 命令行来测量时间。

echo %TIME% & timeout 5 > NUL & echo %TIME%

但是这个命令会打印两个相等的时间戳。为什么?我做错了什么? timeout 5只是举例。

标签: batch-filecmd

解决方案


解释器在执行任何操作之前首先解析整行(用%time%相同的值替换两者(因为解析时间相同)) 。您需要延迟扩展才能使其工作。

如果您需要命令行解决方案:

cmd /v /c "echo !time! & timeout 5 & echo !time!"

推荐阅读