Batch file 批处理:使用环境变量%time%时出现语法错误
我正在德国Win7环境中使用以下变量运行批处理脚本:Batch file 批处理:使用环境变量%time%时出现语法错误,batch-file,Batch File,我正在德国Win7环境中使用以下变量运行批处理脚本: %date%_%time:~0,2%-%time:~3,2%-%time:~6,2% 这个脚本从10:00到23:59运行得很好。在0:00和9:59之间,我得到一个语法错误(我想是因为时间在“:”之前只有一个数字) 有人能帮我吗 谢谢 仍然依赖于区域设置: set "_datetime=%date%_%time:~0,2%-%time:~3,2%-%time:~6,2%" set "_datetime=%_datetime: =0%"
%date%_%time:~0,2%-%time:~3,2%-%time:~6,2%
这个脚本从10:00到23:59运行得很好。在0:00和9:59之间,我得到一个语法错误(我想是因为时间在“:”之前只有一个数字)
有人能帮我吗
谢谢 仍然依赖于区域设置:
set "_datetime=%date%_%time:~0,2%-%time:~3,2%-%time:~6,2%"
set "_datetime=%_datetime: =0%"
对于区域设置独立的解决方案(是的,没有\uu
和-
):
此处显示了循环的
%%G
检索LocalDateTime
值李>
%%x
删除返回值中的结束回车符(wmic
行为:每个输出行以0x0D0A
结束,而不是普通的0x0D0A
)
查看戴夫·本汉姆的检查:谢谢!我最后使用了以下命令:set hour=%time:~0,2%if”%hour:~0,1%=“set hour=0%hour:~1,1%set min=%time:~3,2%if”%min:~0,1%=“set min=0%min:~1,1%set secs=%time:~6,2%if”%secs:~0,1%=“set secs=0%secs:~1,1%
for /F "tokens=2 delims==" %%G in (
'wmic OS get LocalDateTime /value'
) do @for /F "tokens=*" %%x in ("%%G") do (
set "_datetime=%%~x"
)
set "_datetime=%_datetime:~0,14%"
goto :eof