我正在编写一个简短的批处理脚本,它正在设置所需的时间格式。 我正在尝试评估最后一个dt变量,因此它将打印变量被调用的时间,但不幸的是它不起作用 这是脚本的片段:
www.mysite.site2.com/folder2
这是输出:
@echo off
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set HH=%dt:~8,2%
set Min=%dt:~10,2%
set Sec=%dt:~12,2%
set datestamp=%DD%-%MM%-%YYYY%
set timestamp=%HH%:%Min%:%Sec%
set fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%
echo datestamp: "%datestamp%"
echo timestamp: "%timestamp%"
echo fullstamp: "%fullstamp%"
pause
echo timestamp: "%timestamp%"
pause
它在这两个echo语句中打印相同的值。 无论如何要解决它?
答案 0 :(得分:0)
Wmic
命令获取当时的日期和时间。
所有其他行使用相同的日期和时间。
答案 1 :(得分:0)
正如@foxidrive所提到的......在两种情况下你都使用相同的值。假设你想要显示当前时间,你可以做这样的事情。
@echo off
call :GetDateTime
echo datestamp: "%datestamp%"
echo timestamp: "%timestamp%"
echo fullstamp: "%fullstamp%"
pause
call :GetDateTime
echo timestamp: "%timestamp%"
pause
goto :eof
:GetDateTime
for /f "delims=" %%a in ('wmic OS Get localdatetime ^| find "."') do set dt=%%a
set YYYY=%dt:~0,4%
set MM=%dt:~4,2%
set DD=%dt:~6,2%
set HH=%dt:~8,2%
set Min=%dt:~10,2%
set Sec=%dt:~12,2%
set datestamp=%DD%-%MM%-%YYYY%
set timestamp=%HH%:%Min%:%Sec%
set fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%
goto :eof