1
我正在做一个批处理文件,使大量的其他文件,我想按日期和时间如他们的名字显示如何更改日期%%
YYYY-MM-DD HH- MM-SS-MS
由于文件名不能包含“/”,“:”或“。”在Windows中,我需要更改显示日期和时间的方式,并更改显示顺序,以便在按名称排序时显示从最新到最旧的文件。
我正在做一个批处理文件,使大量的其他文件,我想按日期和时间如他们的名字显示如何更改日期%%
YYYY-MM-DD HH- MM-SS-MS
由于文件名不能包含“/”,“:”或“。”在Windows中,我需要更改显示日期和时间的方式,并更改显示顺序,以便在按名称排序时显示从最新到最旧的文件。
您可以替换字符串的部分:
C:\>echo %date%
Mon 04/17/2017
C:\>echo %date:/=-%
Mon 04-17-2017
的语法是:%Variable:[old-string]=[new-string]%
做类似时间:
C:\>set MYTIME=%time::=-%
C:\>set MYTIME=%MYTIME:.=+%
C:\>echo %MYTIME%
21-35-18+60
为了把它放在一起,打破了日成件:
set YR=%date:~-4%
set DY=%date:~7,-5%
set MO=%DATE:~4,-8%
set MYTIME=%time::=-%
set MYTIME=%MYTIME:.=-%
echo %YR%-%MO%-%DY% %MYTIME%
输出:
2017-04-17 21-43-06-05
那么,这解决了一半的问题,谢谢:) – marloso2
不要使用'%日期%',它的环境相关。改用['wmic'](http://stackoverflow.com/q/15378719/995714)。分解变量并以任何你想要的方式使用日期值 –