insorg
Platinum Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору По вытаскиванию номеров версии программы через WMIC столкнулся с интересной особенностью черехжопного указания версий через запятую с пробелом. Например, уважаемый некоторыми Q-Dir (актуальной версии) под Windows 7: FileVersion: 7, 4, 3, 0 ProductVersion: 7.4.3.0 Скриншот - https://jpegshare.net/images/06/a6/06a6b4cba2be8f8c74818775b9d6868b.png Что харатерно, эта же Windows 7, читая номер версии, возвращает значение с точками без пробелов, а на Windows XP - как есть, т.е. с запятыми и пробелами. Соответственно, команда нормально не отрабатывается и значение номеров версии в переменную нормально не попадает. Пока для себя решил подобным образом: @set FilePath1=%temp%\%tmdlwdir%\Q-Dir.exe @set FilePath2=%FilePath1:\=\\% @for /f "tokens=1* delims== usebackq" %%a in (`wmic datafile where name^='%FilePath2%' get version /value`) do if not "%%b"=="" @set QdirVersion=%%b @echo %QdirVersion% @set QdirVersion=%QdirVersion:, =.% @echo %QdirVersion% Может быть, есть более благородное универсальное решение без костыля для XP ? | Всего записей: 17573 | Зарегистр. 04-11-2010 | Отправлено: 09:52 06-02-2019 | Исправлено: insorg, 09:52 06-02-2019 |
|