2011-02-10 3 views
1

Я работал в Windows XP и теперь перешел на Windows 7. Используемые командные файлы для сборки. Теперь это не сработает.Дата выпуска файла Windows 7 Issue

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

ответ

0

Бьюсь об заклад, выходной/формат% DATE% изменен - ​​на него влияет локаль/региональная настройка.

Просто выполните echo %DATE%, чтобы узнать, изменился ли формат с WinXP на Win7.

+0

Это: echo% DATE% ---> 10-02 -2011. Спасибо :) – Vaandu

+0

echo% DATE: ~ 3,2% -% DATE: ~ 0,2% -% DATE: ~ 6,4% 02-10-2011 – Vaandu

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

Hups, commented comment :-P – nox

0

Это зависит от вашего времени, формат времени может отличаться. Попробуйте просто эту линию на обоих:

эхо% DATE%

Наиболее используемыми являются DD/MM/YYYY или MM/DD/YYYY.

Чем отличается, если нужно, проанализируйте свою строку.