2011-02-10 81 views
1

我在Windows XP中工作,現在轉移到Windows 7。使用批處理文件來構建。現在它不起作用。Windows 7批處理文件日期問題

Windows XP中:

echo %DATE:~4,2%-%DATE:~7,2%-%DATE:~10,4% 

02-10-2011 

Windows的7:

echo %DATE:~4,2%-%DATE:~7,2%-%DATE:~10,4% 

2--01- 

請幫助。謝謝。

+0

用%替換%日期%日期:〜6.4% - %日期:〜3.2% - %日期:〜0.2%工作 – Enora 2015-11-27 10:06:10

回答

0

我敢打賭,%DATE%的輸出/格式已經改變 - 它受到區域設置/區域設置的影響。

只要做一個echo %DATE%來查看格式是否已從WinXP更改爲Win7。

+0

它是:echo%DATE%---> 10-02 -2011。謝謝:) – Vaandu 2011-02-10 11:28:08

+0

echo%DATE:〜3.2% - %DATE:〜0.2% - %DATE:〜6.4% 02-10-2011 – Vaandu 2011-02-10 11:33:48

1

它適合我。但是,當我嘗試這樣做:

SET DATF=2011-10-02 
ECHO %DATF:~4,2%-%DATF:~7,2%-%DATF:~10,4% 

它顯示:

-1--0- 

所以我的猜測是,在Windows 7環境%DATE%必須以不同的格式從它曾經是在WinXP被返回的日期。您可能需要更改腳本或更改日期/時間的區域設置。

0

我剛剛明白了這一點。問題是,Win7的是從0而不是1 XP計數的字符串,因此該解決方案是:

XP

echo %DATE:~4,2%-%DATE:~7,2%-%DATE:~10,4% 

WIN7

echo %DATE:~3,2%-%DATE:~6,2%-%DATE:~9,4% 

試試吧,這對我的作品。

0

這取決於你的時間設置,時間格式可能不同。 嘗試簡單地這條線在兩個:

回聲%DATE%

最常用的是DD/MM/YYYY或MM/DD/YYYY。

如果不同,則根據需要解析字符串。