Войти

Показать полную графическую версию : [решено] автораспаковка exe


shadowbat
14-06-2010, 19:20
есть: 1800 обычных exe файлов. (0001.exe, 0002.exe, 0003.exe ...)
задача: "выдрать" из них пути для извлечения по умолчанию и сделать txt с этими путями.

ну что то типа такого:
0001 путь для сохранения 1
0002 путь для сохранения 2
0003 путь для сохранения 3

либо распаковать с сохранением предлагаемого пути, при этом нумеруя этот путь. ну например если файл 0001.exe по умолчанию распаковывается в папку1, то распаковать его в "0001 папку1"

в общем нужно создать просто список папок извлечения

(два exe файла залил сюда (30 мб) http://multi-up.com/289485, http://multi-up.com/289486)

итого как минимум 3 возможных решения:
1. напрямую выдрать пути из exe и сделать список
2. распаковать exe в соответствующие папки
3. просто распаковать ПОСЛЕДОВАТЕЛЬНО (с перерывом например 20 секунд ) в ПРЕДЛАГАЕМУЮ папку. тогда я их смогу отсортировать по дате создания и пронумеровать через програмку
------------------
можно ли это реализовать через BAT/COM или VBS ??

zonderz
14-06-2010, 19:53
можно ли это реализовать через BAT/COM или VBS ?? »

AutoIt чем не устраивает?
он может скопировать как заголовок окна, так и текст из edit в буфер
на кнопку нажать программно и пр.
останется только цикл запустить и все...

shadowbat
14-06-2010, 20:14
и autoit устраивает, только я его не знаю. :) какие есть варианты решения через Autoit ?
кстати в названии окна тоже написано название которое можно выдрать. это 4й вариант решения :)

NiOl
15-06-2010, 18:37
Вообще заданеи не совсем понятно, но если экзешники самораспаковывающиеся, то должно сгодится так:

@echo off
SetLocal EnableExtensions

for /f "tokens=* delims=" %%D in ('dir /b /on *.exe') do call :Proceed "%%D"
exit

:Proceed
md %~n1
cd %~n1
%1
cd ..
exit /b

зы: если не сработает или результат несовсем подходит, то опишите задачу подробнее.

shadowbat
15-06-2010, 19:00
NiOl, на тестовом примере из 3х exe- файлов у меня просто создались 3 папки с названиями этих файлов.

более полное описание в соседней ветке по autoit, который я совершенно не знаю, попробую скомпилировать.
проще через BAT если это выполнимо

соседняя ветка http://forum.oszone.net/thread-178186.html

более полное описание:
файлы exe это установщики
файлы в одной директории.


1. файлы естественно не запущенные. програмка сама должна их запускать
2. НУЖНЫ ЗАГОЛОВКИ (см. скриншот)
http://img32.imageshack.us/img32/2408/58509164.th.jpg (http://www.oszone.net/go.php?url=http://img32.imageshack.us/img32/2408/58509164.jpg)

нужно так:
1. Запускаем наш созданный обработчик, и он берет названия всех файлов в указанной директории в массив.
2. Дальше по очереди запускает каждую програмку из списка массива, ждет появления окна,
копирует название окна (на скриншоте выше обведено красным) и вписывает в txt файл строчку


"название файла без расширения" "название заголовка"
либо
"название файла без расширения" "название папки для установки по умолчанию";папка для установки появляется после нажатия на Далее, но наверняка где то прописана внутри exe и соответственно ее можно выдрать)

shadowbat
15-06-2010, 19:44
решение нашлось через Autoit. http://forum.oszone.net/thread-178186.html




© OSzone.net 2001-2012