Получите файловую версию dll или exe

Возможные дубликаты:
инструмент командной строки сбросить версию Windows DLL?
Как получить версию файла из пакетного файла в Windows Vista?

Можно ли получить файловую версию файла dll или exe с помощью пакетных команд и сохранить ее в переменной?


person Calumet    schedule 14.07.2011    source источник
comment
Я не могу понять, как записать номер версии в переменную командного файла.   -  person Calumet    schedule 14.07.2011


Ответы (2)


Вот пример использования sigcheck:

@ECHO OFF

FOR /F "tokens=1-3" %%i IN ('p:\supporttools\sigcheck.exe p:\supporttools\procmon.exe') DO ( IF "%%i %%j"=="File version:" SET filever=%%k )

ECHO The version of the file is %filever%

PAUSE
person Dave    schedule 14.07.2011
comment
Лучше использовать sigcheck, чем filever. Вы можете легко связать любую небольшую утилиту с вашим проектом, чтобы гарантировать ее доступность, и обе они работают на XP и выше, но filever имеет зависимость .net. Кроме того, очень полезен переключатель -n в sigcheck, я не уверен, есть ли у filever аналог. - person BuvinJ; 28.04.2015

Взгляните на служебную программу Sysinternals SigCheck. Попробуйте это в своем пакетном скрипте:

sigcheck.exe -n YourFile.exe
person serk    schedule 14.07.2011
comment
Спасибо. И SigCheck, и Filever выгружают версию файла. Я пытаюсь установить переменную в пакетном файле для версии файла. Я не могу понять эту часть. - person Calumet; 14.07.2011
comment
stackoverflow.com/questions/1746475/ - person Mike Atlas; 14.07.2011
comment
@Calumet Что вы пробовали до сих пор? - person serk; 14.07.2011