Windows批處理中獲取系統日期、時間戳記

lishiran發表於2009-07-26
在寫Windows批處理指令碼時,常常需要獲取系統日期、時間戳記,用作檔名、資料夾名、log等等。[@more@]本文介紹瞭如何獲取自訂的系統日期、時間戳記。

首先,在Windows中,系統日期由以下引數獲得:

%date%

系統時間則由以下引數獲得:

%time%

我們在Windows XP中輸入以下命令:echo %date%,得到的結果類似以下(輸出結果可能因系統日期、時間格式而異):

C:Documents and SettingsSimon>echo %date%
2008-09-09 星期二

或者

C:Documents and SettingsSimon>echo %date%
TUE 09/09/2008

為了重整日期格式,我們需要擷取返回字串的某幾位,並加入我們自訂的間隔符。

(為什麼要加入自訂的間隔符?因為倘若我們的日期格式是上面的第二個例子,就不能直接將日期用作資料夾名,因為含有“/”)

這樣書寫引數便可以獲得引數返回值中,特定的幾位:

%date:~x,y%

冒號後的~x,y表示擷取date返回值中第x位後的y個字元。在上面的第一個粒子的日期格式下,如果我們輸入echo %date:~5,5%,則會得到以下結果(擷取到第5位後的5個字元,也就是隻取月和日):

C:Documents and SettingsSimon>echo %date:~5,5%
09-09

如果我們需要加入自訂的分隔符,比如想要YYYY--MM--DD的格式,只需要分別取出YYYY, MM, DD再連線起來即可:

C:Documents and SettingsSimon>echo %date:~0,4%--%date:~5,2%--%date:~8,2%
2008--09--09

對於windows的其他系統引數,同理可以重整出需要的格式。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9099175/viewspace-1024604/,如需轉載,請註明出處,否則將追究法律責任。

相關文章