在Windows批處理中獲取系統日期、時間戳記
在寫Windows批處理指令碼時,常常需要獲取系統日期、時間戳記,用作檔名、資料夾名、log等等。
本文介紹瞭如何獲取自訂的系統日期、時間戳記。
首先,在Windows中,系統日期由以下引數獲得:
%date%
系統時間則由以下引數獲得:
%time%
我們在Windows XP中輸入以下命令:echo %date%,得到的結果類似以下(輸出結果可能因系統日期、時間格式而異):
C:/Documents and Settings/Simon>echo %date%
2008-09-09 星期二
或者
C:/Documents and Settings/Simon>echo %date%
TUE 09/09/2008
為了重整日期格式,我們需要擷取返回字串的某幾位,並加入我們自訂的間隔符。
(為什麼要加入自訂的間隔符?因為倘若我們的日期格式是上面的第二個例子,就不能直接將日期用作資料夾名,因為含有“/”)
這樣書寫引數便可以獲得引數返回值中,特定的幾位:
%date:~x,y%
冒號後的~x,y表示擷取date返回值中第x位後的y個字元。在上面的第一個粒子的日期格式下,如果我們輸入echo %date:~5,5%,則會得到以下結果(擷取到第5位後的5個字元,也就是隻取月和日):
C:/Documents and Settings/Simon>echo %date:~5,5%
09-09
如果我們需要加入自訂的分隔符,比如想要YYYY--MM--DD的格式,只需要分別取出YYYY, MM, DD再連線起來即可:
C:/Documents and Settings/Simon>echo %date:~0,4%--%date:~5,2%--%date:~8,2%
2008--09--09
對於windows的其他系統引數,同理可以重整出需要的格式。