PDA

Показать полную графическую версию : Определение версии файла


Scampy
15-03-2016, 20:53
Доброго времени суток всем!
Есть такая вот задача... узнать версии некоторых файлов *.exe которые находятся на разных сайтах и в сети
Насколько я понял стандартными средствами Autoit это не сделать. Есть что-нибудь маленькое умеющее это делать и чтоб выводить результат в форму Autoit'а?

Iska
15-03-2016, 22:41
Насколько я понял стандартными средствами Autoit это не сделать. »
Сделать. Загрузить файл целиком, воспользоваться функцией «FileGetVersion()».

Scampy
15-03-2016, 23:10
Сделать. Загрузить файл целиком, воспользоваться функцией «FileGetVersion()». »
Такой вариант знаю. Не подойдет. Файлы некоторые могут быть по 500 мегабайт. Надо как то без загрузки...

Iska
16-03-2016, 02:26
Надо как то без загрузки... »
Без загрузки хотя бы части файла (загрузка начала файла; определение, что файл — исполняемый; определение смещения потребного ресурса; загрузка куска, содержащего номер версии; попытка её определения — и это ещё сильно упрощённо) — никак не выйдет. Ни http, ни ftp не предоставляют возможности для определения версии исполняемого файла. И, кстати — это что за исполняемые файлы таким размером?!

Scampy
16-03-2016, 16:30
И, кстати — это что за исполняемые файлы таким размером?! »
Например sfx архивы которые делаются автоматически некой программой

Iska
16-03-2016, 17:54
Scampy, я думаю, многим проще будет «вытаскивать» номер версии не с файла, а с html-страницы с описанием этого файла. Я лично именно так и делал.

Scampy
17-03-2016, 11:29
Iska, можно пример посмотреть?

Iska
17-03-2016, 12:03
К сожалению, в ближайшее время — нет. Но ничего сложного там нет. Загружаем потребную html-страницу, разбираем её согласно DOM-модели и извлекаем номер версии. Я это делал на PowerShell 2.0.




© OSzone.net 2001-2012