2011-02-10 79 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。

如果不同,则根据需要解析字符串。