Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   [решено] автораспаковка exe (http://forum.oszone.net/showthread.php?t=178169)

shadowbat 14-06-2010 19:20 1433996

автораспаковка exe
 
есть: 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 1434014

Цитата:

Цитата shadowbat
можно ли это реализовать через BAT/COM или VBS ?? »

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

shadowbat 14-06-2010 20:14 1434030

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

NiOl 15-06-2010 18:37 1434713

Вообще заданеи не совсем понятно, но если экзешники самораспаковывающиеся, то должно сгодится так:

Код:

@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 1434734

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

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

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

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


1. файлы естественно не запущенные. програмка сама должна их запускать
2. НУЖНЫ ЗАГОЛОВКИ (см. скриншот)


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


Код:

"название файла без расширения" "название заголовка"
либо
Код:

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

shadowbat 15-06-2010 19:44 1434763

решение нашлось через Autoit. http://forum.oszone.net/thread-178186.html


Время: 10:43.

Время: 10:43.
© OSzone.net 2001-