2017-04-18 70 views
1

我正在做一個批處理文件,使大量的其他文件,我想按日期和時間如他們的名字顯示如何更改日期%%

YYYY-MM-DD HH- MM-SS-MS

由於文件名不能包含「/」,「:」或「。」在Windows中,我需要更改顯示日期和時間的方式,並更改顯示順序,以便在按名稱排序時顯示從最新到最舊的文件。

+3

不要使用'%日期%',它的環境相關。改用['wmic'](http://stackoverflow.com/q/15378719/995714)。分解變量並以任何你想要的方式使用日期值 –

回答

1

您可以替換字符串的部分:

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 
+0

那麼,這解決了一半的問題,謝謝:) – marloso2