У меня проблема с пакетным файлом сборки стороннего проекта, с которым я работаю. Он проверяет, является ли ОС Windows, используя команду ver
. К сожалению, я не могу напечатать команду ver
из командного файла, как это происходит в командной строке. Вывод командной строки:
Microsoft Windows [Version 10.0.15063]
Тем не менее, когда я запускаю в командном файле:
set v ver
echo %v%
Выход вместо этого:
v=10.0
VBOX_MSI_INSTALL_PATH=C:\Program Files\Oracle\VirtualBox\
VS100COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 10.0\Common7\Tools\
VS90COMNTOOLS=C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\Tools\
Который, кажется, дает мне версию для Windows (хотя и не так подробно), а затем версии кучу других вещей. Есть ли причина, по которой это будет работать по-другому или не работает? Кто-нибудь знает, как вызвать оригинальное поведение, которое наблюдается в командной строке? Похоже, что сторонний скрипт ожидает поведения для версии командной строки.
Обновление: Основываясь на ответе ниже, я обнаружил, что, хотя это и было проблемой, это была не проблема, которая фактически приводила к сбою стороннего пакетного файла. Похоже, что это должно быть связано с проблемой с findstr
или %ERRORLEVEL% NEQ 0
(поскольку проблема в том, что он считает, что не нашел строку "Windows" в версии).