如果要取得以日期為文件名的文件,
假設在命令行下鍵入date
返回形式為:當前日期: 2005-06-02 星期四
echo > %date:~0,4%%date:~5,2%%date:~8,2%
~表示從環境變量的內容的左邊開始,~m,n m表示從第m個字符開始,n表示取n個字符。
下面以一個表格示例下,可能更容易懂:
日期和時間組合:%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
set NOW_TIME=%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%
打印結果:
20180531161014
另:
當time的小時的值小於10的時候,如下面時間:
C:\Users\zh>time
當前時間: 9:31:02.13
輸入新時間:
上面字串“%date:~0,4%%date:~5,2%%date:~8,2%%time:~0,2%%time:~3,2%%time:~6,2%” 解析時會報錯誤,如何解決?
解決方法,加入判斷條件即可:
set NOW_TIME_HH=%time:~0,2%
if "%NOW_TIME_HH%" lss "10" (set NOW_TIME_HH=0%time:~1,1%) else (set NOW_TIME_HH=%time:~0,2%) set NOW_TIME=%date:~0,4%-%date:~5,2%-%date:~8,2%_%NOW_TIME_HH%-%time:~3,2%-%time:~6,2% echo Current Time:%NOW_TIME%
set NOW_ONLY_TIME=%NOW_TIME_HH%:%time:~3,2%:%time:~6,2% ---- 只取當前時間(如:13:14:55)