• [Windows] 去除環境變數DATE與TIME內的空白 - [Windows Vista]

    2008-04-20

    版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明
    http://www.blogbus.com/jdev-logs/19422360.html

    有些處理我們會使用批次檔來寫,例如每天夜間的排程備份或輸出執行結果到Log檔,當這些輸出檔名必須帶有日期與時間時,經常都會有些不方便的地方 (如果你不清楚環境變數的運用的話,請先參考[Windows] 環境變數的擴充功能這篇的介紹)。 舉例如下:

    cd  \Project\MyProject1
    rem %DATE%傳回:2008/04/20,DATE1=0420,TIME1=HHMM
    set DATE1=%DATE:~5,2%%DATE:~8,2%
    set TIME1=%TIME:~0,2%%TIME:~3,2%
    svn update  > UPDATE_%DATE1%_%TIME1%.log

    以上指令看似正常,但當時間在早上0點到9點之間時,%TIME%傳回的竟然是  9:01:09.16-開頭第一個字元是空白,造成組成的檔名異常。另外,日期與時間的格式會因【控制台 →時鐘、語言和區域→地區與語言選項】裡的格式而有不同,為了一勞永逸地解決夾有空白問題,可以改寫如下:

    set DATE1=%DATE:~5,2%%DATE:~8,2%
    set DATE1=%DATE1: =0%

    用「冒號 空白 等於 0」 就能把變數裡的空白換成 0而不致有問題了。

    ##
    分享到: