Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] как узнать “версию файла”? (http://forum.oszone.net/showthread.php?t=100380)

akrav 11-02-2008 00:59 737556

как узнать “версию файла”?
 
Есть ли команда, которая выводит такую информацию, как “версия файла”? Эту информацию, к примеру, у exe-файлов программ можно увидеть в свойствах, вкладка “версия”.

Petya V4sechkin 11-02-2008 11:10 737729

akrav, команда Filever.

Admiral 11-02-2008 14:44 737882

Petya V4sechkin, весьма полезная утилита.
Я та думал, что такой в природе не существует. А если и существует, то должна называется типа Get File Version по аналогии с одноименным Вин32 Апи GetFileVersionInfo. Собственно, наверное, и делал бы мини консольную утилиту на один этот АПИ, если б потребовалось в консоли узнать версию файла.
От чего ж его сразу не включили в поставку Виндовс? Тут и линукс лайк (--a--) свойства показывают, и dir /s по совместительству. И наверное, много чего другого чего ещё не видел.

sancher 02-04-2018 11:18 2806599

Так будет лучше (ничего ставить не нужно дополнительно):
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

Казбек 02-04-2018 21:58 2806709

По количеству "полезняшек" в 4 сообщении вижу, что народу идея с использованием wmic и datefile приглянулась. Поэтому решил поделится очень хорошей статьей с полезными запросами: Useful WMIC Queries.

rsuan 09-04-2019 05:32 2867130

Цитата:

Цитата Казбек
очень хорошей статьей с полезными запросами: Useful WMIC Queries. »

Новое расположение статьи https://techcommunity.microsoft.com/...es/ba-p/375023

Sisin 12-04-2019 14:58 2867562

Цитата:

Цитата 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


Dango2 14-09-2020 10:46 2933970

Цитата:

Цитата Petya V4sechkin
WMIC DATAFILE WHERE name="%P%имя_нужного_файла" get Version /format:Textvaluelist »

подскажите пожалуйста, как присвоить вывод этой строки переменной?

Set MyVersion = WMIC DATAFILE WHERE name="%P%имя_нужного_файла" get Version /format:Textvaluelist

Так не получается (((

megaloman 14-09-2020 13:26 2933995

Код:

@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.

Время: 18:35.
© OSzone.net 2001-