Получение версии продукта из файла через cmd/bat
У меня есть файл с ресурсом Version, который заполнен полями File vesrion/Product version. Мне нужно получить версию продукта через файл BAT. Например, у меня есть файл с ProductVersion 1.0.1 в выходной файл bat, я не хочу иметь строку "101" или "1.0.1"
4 ответа
Как использовать инструмент Filever.exe для получения конкретной информации о файле в Windows
Из чего я собираюсь filever
вывод всегда в столбцах, и вы хотите пятый столбец (версия). Так просто for
должно хватить:
for /f "tokens=5 delims= " %%v in ('filever myFile.dll /b') do echo %%v
Ты можешь использовать sigcheck
инструмент, который является частью Sysinternals Suite, так как filever
тихий старый, например
$ sigcheck.exe -q -n app.exe
5.0.0.1241
Указав -q
(тихо) и -n
, он покажет вам только номер версии файла.
Для пустышки, как я, есть одно исправление в приведенном выше утверждении, чтобы получить значение версии продукта, это было бы так:
for /f "tokens=5 delims= " %%v in ('filever myFile.dll /b /v') do echo %%v
/v
параметр отсутствует, и я не могу получить правильное значение.
Для чтения версии из RC-файла ресурса вы можете использовать:
for /F "tokens=3" %%a in ( 'findstr ProductVersion YourProgram.rc' ) do set VERSION=%%~a