2

我想在日志中添加时间和用户名,但我无法动态评估 %TIME% 和 %DATE% 。我已经尝试了许多使用“!”的版本,但我从来没有让它工作。我想要的是拥有

Setlocal EnableDelayedExpansion
set nameDateTime=!%USERNAME% %DATE% %TIME%!
echo %nameDateTime%
echo %nameDateTime%
echo %nameDateTime%
EndLocal

产生 3 个不同的时间(假设它们相距足够远)。我尝试了第二个答案:How to create a user Environment variable that *calls* %date% or %time% 每次调用它?,但是当我调用 echo %date1% 时,它只打印出 date1,而 set date1 打印出整个 !date1..!线。

4

1 回答 1

4

由于您已经使用了延迟扩展:

@echo off
Setlocal DisableDelayedExpansion
set nameDateTime=!USERNAME! !DATE! !TIME!
Setlocal EnableDelayedExpansion
echo %nameDateTime%
echo %nameDateTime%
echo %nameDateTime%
EndLocal

您将需要对这些回声进行时间间隔,以查看它们实际打印不同的值

于 2012-09-25T20:43:40.300 回答