Форум программистов, компьютерный форум, киберфорум
Batch (CMD/BAT)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.89/89: Рейтинг темы: голосов - 89, средняя оценка - 4.89
0 / 0 / 0
Регистрация: 20.06.2018
Сообщений: 3

Вытянуть версию файла в переменную

20.06.2018, 10:41. Показов 19404. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день.
Задача такая: надо сделать bat файл, который определяет версию определённого файла, и если версия не такая, то запускает скрипт обновления этого ПО.

К примеру выполнив следующий код в CMD:
Code
1
2
>wmic datafile where name="%SYSTEMDRIVE%\\Program Files\\Internet Explorer\\iexplore.exe" get version /format:value | find.exe /i "Version="
Version=11.0.9600.19003
я получаю версию файла

Но у меня задача получить версию файла и сравнить полученное значение с заданным.

Т.е. я использую следующую конструкцию, чтобы засунуть выполнение команды в строковую переменную (код bat-файла):
Windows Batch file
1
2
3
4
5
cls
 
for /F "tokens=*" %%i in ('wmic datafile where name="%SYSTEMDRIVE%\\Program Files\\Internet Explorer\\iexplore.exe" get version /format:value ^| find.exe /i "Version="') do set MYVAR=%%i
 
echo.%MMYVAR%
на выходе получаю
>for /F "tokens=*" %i in ('wmic datafile where name "C:\\Program Files\\Internet Explorer\\iexplore.exe" get version /format:value | find.exe /i "Version="') do set MYVAR=%i
C:\\Program Files\\Internet Explorer\\iexplore.exe - Invalid alias verb.

>echo.

>
Как я понимаю, не срабатывает путь. как это можно реализовать?
Если сделать это, конструкцию из if сделать будет не сложно.

Кто может помочь и подсказать?
Спасибо.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
20.06.2018, 10:41
Ответы с готовыми решениями:

Как вытянуть определенное значение из API в переменную
Смотрю последние цены BTC/USDT: print(('price', bot.tickerPrice( symbol='BTCUSDT' ))) выводит мне: ('price',...

Вытянуть последние 7 строк из файла
есть скрипт по отправке письма есть оператор который присваивает текст сообщения: objEmail.TextBody = "текст письма" ...

Вытянуть строку из файла тхт
Подскажите пожалуйста код, который бы вытянул единственную строку из файла тхт

4
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
20.06.2018, 12:45
Цитата Сообщение от Yura Bo Посмотреть сообщение
сравнить полученное значение с заданным
вот здесь на bat будет большая проблема. Если для одного файла и обновления на 99% (циферный тип, шаблон) предсказуемы, то еще ладно и то нет гарантии что через год автор это кардинально не изменит, а иначе cmd_шная sort тут не вырулит - бить по кускам и на авось.
0
0 / 0 / 0
Регистрация: 20.06.2018
Сообщений: 3
20.06.2018, 14:30  [ТС]
У меня есть предложение, которое стоит на рабочих станциях пользователей.
Логика bat файла.

если это приложение есть в папке то -> (проверить его версию и если версия не та, которая мне надо то -> (запустить скрипт обновления этого приложения)) иначе -> end

Цифры и названия последней версии приложения я буду знать точно, и мне лишь надо узнать какое приложение стоит на рабочей станции и обновить его в случае необходимости.


Internet Explorer тут лишь как пример приложения.
0
4340 / 2130 / 661
Регистрация: 26.04.2015
Сообщений: 6,823
20.06.2018, 18:33
вот вам версия в переменной как вы хотели, а уж определить совпадает с оригиналом или нет надеюсь сможете.
Windows Batch file
1
2
3
4
5
6
@echo off
set "prog=C:\Windows\System32\cmd.exe"
 
for /f "tokens=2 delims==" %%a in ('"wmic datafile where name='%prog:\=\\%' get Version /value|find "^=""') do set "v=%%a"
echo %v%
pause
1
0 / 0 / 0
Регистрация: 20.06.2018
Сообщений: 3
27.06.2018, 14:13  [ТС]
alpap, Спасибо. Всё работает.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
27.06.2018, 14:13
Помогаю со студенческими работами здесь

Вытянуть данные из файла *.property
Доброе время суток. Мне нужно получить данные из файла properties. Работаю в IDEA IntelliJ, веб-проект Maven. Есть переменная String и...

Как из файла/строки вытянуть данные?
ну в смысле данные, есть например файл содержащий 854 634 6436 2357 457345 вопщем неважно какие числа, ну к примеру я их уже...

Вытянуть данные с файла *.txt в коллекцию
Помогите написать код: Есть файл *.txt файл содержит много записей в виде Id(число int) : firstName(10 букв кириллица ) : lastName(10...

Как вытянуть большую иконку из exe файла?
Помогите пожалуйста, очень нужно! Как вытянуть большую (больше чем 32х32, если она есть) иконку из exe файла? Пожалуйста, киньте пример! ...

VBA project - вытянуть данные из эксель файла
Добрый день! Работаю с project файлом, нужно написать макрос который бы вытягивал бы данные из файла xlsx. Но у меня даже открыть его...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
Хочу заставить корпорации вкладываться в здоровье сотрудников: делаю мат модель здравосохранения
anaschu 22.03.2026
e7EYtONaj8Y Z4Tv2zpXVVo https:/ / github. com/ shumilovas/ med2. git
1С: Программный отбор элементов справочника по группе
Maks 22.03.2026
Установка программного отбора элементов справочника "Номенклатура" из модуля формы документа. В качестве фильтра для отбора справочника служит группа номенклатуры. Отбор по наименованию группы. . .
Как я обхитрил таблицу Word
Alexander-7 21.03.2026
Когда мигает курсор у внешнего края таблицы, и нам надо перейти на новую строку, а при нажатии Enter создается новый ряд таблицы с ячейками, то мы вместо нервных нажатий Энтеров мы пишем любые буквы. . .
Krabik - рыболовный бот для WoW 3.3.5a
AmbA 21.03.2026
без регистрации и смс. Это не торговля, приложение не содержит рекламы. Выполняет свою непосредственную задачу - автоматизацию рыбалки в WoW - и ничего более. Однако если админы будут против -. . .
1С: Программный отбор элементов справочника по значению перечисления
Maks 21.03.2026
Установка программного отбора элементов справочника "Сотрудники" из модуля формы документа. В качестве фильтра для отбора служит значение перечислений. / / Событие "НачалоВыбора" реквизита на форме. . .
Переходник USB-CAN-GPIO
Eddy_Em 20.03.2026
Достаточно давно на работе возникла необходимость в переходнике CAN-USB с гальваноразвязкой, оный и был разработан. Однако, все меня терзала совесть, что аж 48-ногий МК используется так тупо: просто. . .
Оттенки серого
Argus19 18.03.2026
Оттенки серого Нашёл в интернете 3 прекрасных модуля: Модуль класса открытия диалога открытия/ сохранения файла на Win32 API; Модуль класса быстрого перекодирования цветного изображения в оттенки. . .
SDL3 для Desktop (MinGW): Рисуем цветные прямоугольники с помощью рисовальщика SDL3 на Си и C++
8Observer8 17.03.2026
Содержание блога Финальные проекты на Си и на C++: finish-rectangles-sdl3-c. zip finish-rectangles-sdl3-cpp. zip
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru