как узнать “версию файла”?
Есть ли команда, которая выводит такую информацию, как “версия файла”? Эту информацию, к примеру, у exe-файлов программ можно увидеть в свойствах, вкладка “версия”.
|
Petya V4sechkin |
11-02-2008 11:10 737729 |
|
Admiral |
11-02-2008 14:44 737882 |
Petya V4sechkin, весьма полезная утилита.
Я та думал, что такой в природе не существует. А если и существует, то должна называется типа Get File Version по аналогии с одноименным Вин32 Апи GetFileVersionInfo. Собственно, наверное, и делал бы мини консольную утилиту на один этот АПИ, если б потребовалось в консоли узнать версию файла.
От чего ж его сразу не включили в поставку Виндовс? Тут и линукс лайк (--a--) свойства показывают, и dir /s по совместительству. И наверное, много чего другого чего ещё не видел.
|
Так будет лучше (ничего ставить не нужно дополнительно):
WMIC DATAFILE WHERE name="C:\\Windows\\regedit.exe" get Version /format:Textvaluelist
|
DJ Mogarych |
02-04-2018 15:00 2806638 |
Powershell:
Код:
(Get-ItemProperty "C:\Program Files\file.exe").VersionInfo.FileVersion
|
По количеству "полезняшек" в 4 сообщении вижу, что народу идея с использованием wmic и datefile приглянулась. Поэтому решил поделится очень хорошей статьей с полезными запросами: Useful WMIC Queries.
|
Цитата:
Цитата sancher
WMIC DATAFILE WHERE name="C:\\Windows\\regedit.exe" get Version /format:Textvaluelist »
|
Я правильно понимаю, что вместо C:\\Windows\\regedit.exe нельзя добавить относительный путь?
Т.е. я запускаю батник в папке с нужным файлом.
|
Petya V4sechkin |
12-04-2019 15:21 2867566 |
Sisin, пример:
Код:
Set P=%~dp0
Set P=%P:\=\\%
WMIC DATAFILE WHERE name="%P%имя_нужного_файла" get Version /format:Textvaluelist
|
Цитата:
Цитата Petya V4sechkin
WMIC DATAFILE WHERE name="%P%имя_нужного_файла" get Version /format:Textvaluelist »
|
подскажите пожалуйста, как присвоить вывод этой строки переменной?
Set MyVersion = WMIC DATAFILE WHERE name="%P%имя_нужного_файла" get Version /format:Textvaluelist
Так не получается (((
|
Код:
@Echo Off
cls
Set "MyFile=D:\INSTALL\ViberSetup.exe"
FOR /F "tokens=1,2 delims== " %%i IN ('"WMIC DATAFILE WHERE name="%MyFile:\=\\%" get Version /format:Textvaluelist"') DO If /I "%%i"=="Version" Set "Version=%%j"
Echo "%Version%"
pause
Exit /B
|
Время: 18:35.
© OSzone.net 2001-