Я работал в Windows XP и перешел в 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-
Пожалуйста, помогите.Спасибо.
Это работает для меня. Но когда я попробовал это:
SET DATF=2011-10-02 ECHO %DATF:~4,2%-%DATF:~7,2%-%DATF:~10,4%
отображается:
-1--0-
Так что я думаю, что в вашей среде Windows 7 %DATE% должно возвращать дату в другом формате, чем в WinXP. Возможно, вы захотите изменить скрипт или изменить языковые настройки для даты / времени.
%DATE%
Это зависит от настроек времени, формат времени может отличаться. Попробуйте просто эту строку на обоих:
эхо% ДАТА%
Чаще всего используются ДД / ММ / ГГГГ или ММ / ДД / ГГГГ.
Чем, если отличается, проанализируйте вашу строку при необходимости.
Я только что понял это.Проблема в том, что 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%
Попробуйте,это работает для меня.
Могу поспорить, что вывод / формат% DATE% изменился - это зависит от региональных / региональных настроек.
Просто введите echo %DATE%, чтобы увидеть, изменился ли формат с WinXP на Win7.
echo %DATE%