CMD/BAT - [решено] как узнать “версию файла”?

Аватара пользователя
akrav

CMD/BAT - [решено] как узнать “версию файла”?

Сообщение akrav »

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

Re: CMD/BAT - [решено] как узнать “версию файла”?

Сообщение akrav »

Код:

Код: Выделить всё

@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
Аватара пользователя
Admiral

Re: CMD/BAT - [решено] как узнать “версию файла”?

Сообщение Admiral »

Petya V4sechkin, весьма полезная утилита.

Я та думал, что такой в природе не существует. А если и существует, то должна называется типа Get File Version по аналогии с одноименным Вин32 Апи GetFileVersionInfo. Собственно, наверное, и делал бы мини консольную утилиту на один этот АПИ, если б потребовалось в консоли узнать версию файла.

От чего ж его сразу не включили в поставку Виндовс? Тут и линукс лайк (--a--) свойства показывают, и dir /s по совместительству. И наверное, много чего другого чего ещё не видел.
Аватара пользователя
sancher

Re: CMD/BAT - [решено] как узнать “версию файла”?

Сообщение sancher »

Так будет лучше (ничего ставить не нужно дополнительно):

WMIC DATAFILE WHERE name="C:\\Windows\\regedit.exe" get Version /format:Textvaluelist
Аватара пользователя
DJ Mogarych

Re: CMD/BAT - [решено] как узнать “версию файла”?

Сообщение DJ Mogarych »

Powershell:



Код:

Код: Выделить всё

(Get-ItemProperty "C:\Program Files\file.exe").VersionInfo.FileVersion
Аватара пользователя
Казбек

Re: CMD/BAT - [решено] как узнать “версию файла”?

Сообщение Казбек »

Цитата Казбек:



очень хорошей статьей с полезными запросами: Useful WMIC Queries.
CMD/BAT - [решено] как узнать “версию файла”?




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

Re: CMD/BAT - [решено] как узнать “версию файла”?

Сообщение rsuan »

Цитата sancher:



WMIC DATAFILE WHERE name="C:\\Windows\\regedit.exe" get Version /format:Textvaluelist
CMD/BAT - [решено] как узнать “версию файла”?




Я правильно понимаю, что вместо C:\\Windows\\regedit.exe нельзя добавить относительный путь?

Т.е. я запускаю батник в папке с нужным файлом.
Аватара пользователя
Sisin

Re: CMD/BAT - [решено] как узнать “версию файла”?

Сообщение Sisin »

Sisin, пример:



Код:

Код: Выделить всё

Set P=%~dp0
Set P=%P:\=\\%
WMIC DATAFILE WHERE name="%P%имя_нужного_файла" get Version /format:Textvaluelist
Аватара пользователя
Petya V4sechkin

Re: CMD/BAT - [решено] как узнать “версию файла”?

Сообщение Petya V4sechkin »

Цитата Petya V4sechkin:



WMIC DATAFILE WHERE name="%P%имя_нужного_файла" get Version /format:Textvaluelist
CMD/BAT - [решено] как узнать “версию файла”?




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



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



Так не получается (((
Ответить

Вернуться в «Скриптовые языки администрирования Windows»