Какой беспорядок, но я думаю, что нашел решение этой проблемы:
Суть в следующем: в Windows 10 даже при простом формате даты (например dd.MM.yyyy
) date /T
командная строка добавляет первые символы дня, поэтому мы получаем следующее:
date /T st 22.03.2017
И мои коллеги построили свои пакетные файлы вокруг присутствия этих "st" персонажей. Запуск этих пакетных файлов в более низких версиях Windows приводит к упомянутым проблемам.
В начале пакетных файлов я добавил строку:
DATE=xx %DATE%
(Признаюсь, очень по-детски)
Это заставляет работать пакетные файлы на моем компьютере с Windows-7.
Чтобы заставить его работать в обеих системах, мне просто нужно добавить проверку на платформе, что-то вроде:
set WINDOWS_10=%ver | findstr /C:"Version 10"% if "WINDOWS_10"=="" ( set DATE=xx %DATE%)
Я еще не проверял это на ПК с Windows-10, но я верю, что это поможет.