我有以下批处理文件:
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
for /f "tokens=2,3,4,5,6 usebackq delims=:/ " %%a in ('!date! !time!) do echo %%c-%%a-%%b %%d %%e
ENDLOCAL
我想简单回应当前的日期。 而是将此消息输出到控制台:
The system cannot find the file 'Mon 06/29/2015 10:07:48.90.
有什么问题? 感谢
答案 0 :(得分:1)
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
for /f "tokens=2-6 delims=:/ " %%a in ("!date! !time!") do echo %%c-%%a-%%b %%d %%e
ENDLOCAL
但是,您的脚本依赖于Windows语言环境;例如,在我的语言环境中应该是:
SETLOCAL ENABLEEXTENSIONS ENABLEDELAYEDEXPANSION
for /f "tokens=1-5 delims=:. " %%a in ("!date! !time!") do echo %%c-%%b-%%a %%d %%e
ENDLOCAL
根据下一个代码段考虑与区域设置无关的解决方案:
for /F %%g in ('
wmic OS get LocalDateTime /value^|findstr "="
') do for /F %%G in ("%%g") do echo set "_%%G"
set "_LocalDateTime=20150629093247.246000+120"
:: yyyymmddHHMMSS.mmmmmmsUUU
在调试之前将... do echo set "_%%G"
替换为... do set "_%%G"
。然后,下一个代码段会显示2015-06-29 09 59
:
SETLOCAL enableextensions enabledelayedexpansion
for /F %%g in ('
wmic OS get LocalDateTime /value^|findstr "="
') do for /F %%G in ("%%g") do set "_%%G"
echo !_LocalDateTime:~0,4!-!_LocalDateTime:~4,2!-!_LocalDateTime:~6,2! !_LocalDateTime:~8,2! !_LocalDateTime:~10,2!