Имя пользователя:
Пароль:  
Помощь | Регистрация | Забыли пароль?  | Правила  

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Установка большого количества .exe

Ответить
Настройки темы
Установка большого количества .exe

Аватара для LEXYS

Пользователь


Автор проектов


Сообщения: 79
Благодарности: 30


Конфигурация

Профиль | Отправить PM | Цитировать


Добрый день. В теме не нашел.
Вопрос такой:

Есть большое количество .exe файлов. Все в одной папке.

Установка их простая - 3 раза по мере необходимости нажать Enter.

Как сделать автоустановку всех файлов из папки?

Заранее спасибо.

-------
http://forum-lines.ru/rez/ab41341.gif


Отправлено: 12:03, 16-02-2012

 

Новый участник


Сообщения: 13
Благодарности: 0

Профиль | Отправить PM | Цитировать


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

Код: Выделить весь код
Opt('TrayIconDebug', 1)

#include <File.au3>
#include <Process.au3>

Dim $aExeList = _FileListToArray(@ScriptDir, '*.exe', 1) ;если файл скрипта будет лежать НЕ в той же папке, где лежат экзешники, то меняем @ScriptDir на путь к папке с оными
Dim $aWinlist = WinList ()

;FileChangeDir('')
; опять же, если файл скрипта лежит отдельно, то раскомментируем строку выше и прописываем в кавычках путь к папке, в которой лежат экзешники 

For $iFile = 1 To $aExeList[0] ; по очереди запускаем экзешники из этой папки
	Run($aExeList[$iFile])
	Sleep(500) ; время, необходимое для того, чтобы успело появиться окно устанавливаемой программы (может, его понадобится увеличить)
	For $iList = 1 To $aWinlist[0][0] ; делаем список всех открытых окон в системе
		If _ProcessGetName (WinGetProcess ($aWinlist[$iList][0])) = $aExeList[$iFile] Then ; двигаемся по нему, пока не найдем окно, вызванное нашим экзешником
			WinSetTitle($aWinlist[$iList][0], '', 'Установка программы ' & $iFile); меняем имя этого окна на "Установка программы номер такой-то"
			; Дальше - поскольку мы запускаем по очереди несколько программ и поэтому не имеем возможности задать WinWaitActive с определенным текстом, чтобы послать в это окно Enter, то мы тупо будем посылать Enter в наше окно с интервалом в 0,3 секунды до тех пор, пока это окно существует
			While WinExists('Установка программы ' & $iFile)
				ControlSend('Установка программы ' & $iFile, '', '', '{Enter}')
				Sleep(300)
			WEnd
		EndIf
	Next
Next

Отправлено: 09:44, 23-02-2012 | #2



Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети.

Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля.



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » Установка большого количества .exe

Участник сейчас на форуме Участник сейчас на форуме Участник вне форума Участник вне форума Автор темы Автор темы Шапка темы Сообщение прикреплено

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Разное - [решено] Проблема с просмотром большого количества файлов в explorer Pikki-pikki Microsoft Windows 2000/XP 8 30-05-2021 00:24
CMD/BAT - Подстановка большого количества параметров. Zeneth Скриптовые языки администрирования Windows 13 30-12-2011 13:16
Разное - [решено] Установка большого количества жестких дисков. KPACHbIu Накопители (SSD, HDD, USB Flash) 2 15-06-2011 14:31
Интерфейс - [решено] Переименование большого количества файлов 7human7 Microsoft Windows 2000/XP 7 22-11-2008 09:48
Разное - IE зависает при открытии большого количества вкладок multy Microsoft Windows Vista 2 11-10-2007 14:25




 
Переход