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

Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 1.3] AutoIt скрипты

Закрытая тема
Настройки темы
[Архив - Часть 1.3] AutoIt скрипты

Старожил


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

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


Изменения
Автор: Vadikan
Дата: 25-01-2008
Внимание!
Тема переведена в архивное состояние





(настоятельно рекомендуется к прочтению/поиску)


Руководство к действию по работе c AutoIt.

Помогите пожалуйста. Нужен маленький скриптик для решения некоторых рутинных задачь.
Вот что нужно сделать последовательно:

1) в папке DIR1 находим и удаляем файлы в названии которых присутствует text_1
2) в папке DIR2 находим xxx.sif и удаляем строки, в которых присутствует text_1
3) в папке DIR3 находим xxx.inf и добавляем в его секцию [XXX] несколько строчкек (text_2, text_3, ..., text_n)
4) в папке DIR4 находим yyy.inf ищем в его секции [YYY] text_4 и заменяем его на text_5
5) сохраняем все изменения и выводим отчёт о проделанной работе :-)

Заранее благодарен.

Отправлено: 05:05, 03-12-2006

 

Аватара для Creat0R

Must AutoIt


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

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


amel27
Цитата:
Можно самому написать аналогичные функции
Приогромнейшее спасибо! и представить себе не мог что на аутоите это реально

В связи с этим есть вопрос:

Что в функции нужно поменять, чтобы вместо открытия фалов, был выбор каталога (FileSelectFolder), и также хотелось бы чтобы была функция сохранения файлов (FileSaveDialog) - Буду очень благодарен если поможешь с этими функциями...

И ещё (не принципиально) - при выборе файлов, возможно сделать массовый выбор? т.е чтобы можно было выбирать несколько файлов.
--------------------------------
По поводу самого гуи, я немогу понять одной вещи - чтобы создать гуи, необходимо построить цикл, но на сколько известно, безпрерывный цикл “заставляет” сильно загружать ЦП... т.е если мы сделаем такой цикл:

Код: Выделить весь код
While 1

Wend
То загрузка ЦП будет 100% - Но если поставить задержку в этом цикле (Sleep(100)), то загрузки ЦП не будет. НО, в гуи ставить задержку нельзя, это портит функциональность нажатия кнопок и т.п.... но с другой стороны, даже если поставить подобную задержку в гуи, и при этом создать горячую клавишу (HotKeySet()), то по её вызову (по вызову её функции) всё нормально срабатывает... как сделать чтобы и функциональность сохранить (не используя клавиши), и предотвратить загрузку ЦП?
Просто дело в том, что хотел сворачивать скрипт в трей, затем в трее вывести меню, но если ставлю задержку в цикле скрипта (для трея), то пункты в трее не срабатывают, а если не ставить задержку, то процессор сильно грузится (бывает до 80-90%) - Как это решить?

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 15:04, 05-12-2006 | #11



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

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


Аватара для Creat0R

Must AutoIt


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

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


Michail77
Цитата:
Мне надо чтобы картинка интегрировалась внутрь скрипта,с расположением которое ей указано и всегда была там,независимо от того есть такая картинка в системе или нет.
Для этого нужно установить файл в скрипте, чтобы перед запуском он расспаковывал изображение во временную папку, и затем считывал его оттуда (это при компилляции) - а вбить намертво изображение в скрипт, не получится.

Для установки файла исользуй такую команду:

Код: Выделить весь код
FileInstall("Полный\путь\к\изображению\для\установки\image.png", "Путь\куда\будет расспаковано\изображение\image.png", 1)
А для использования просто указывай путь который ты прописал как назначения для помещения изображения...

Код: Выделить весь код
GUICtrlCreatePic("Путь\куда\будет расспаковано\изображение\image.png",0,0, 300,40)

-------
“Сделай так просто, как возможно, но не проще этого.”... “Ты никогда не решишь проблему, если будешь думать так же, как те, кто её создал.”

Альберт Эйнштейн

P.S «Не оказываю техподдержку через ПМ/ICQ, и по email - для этого есть форум. ©»

http://creator-lab.ucoz.ru/Images/Icons/autoit_icon.png Русское сообщество AutoIt | http://creator-lab.ucoz.ru/Images/Ic...eator_icon.png CreatoR's Lab | http://creator-lab.ucoz.ru/Images/Icons/oac_icon.png Opera AC Community


Отправлено: 15:18, 05-12-2006 | #12


Старожил


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

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


Creat0R
Цитата:
По поводу самого гуи, я немогу понять одной вещи - чтобы создать гуи, необходимо построить цикл,
Гуи не грузит проц, это даже в справке написано. Разве у тебя нет русской справки?

Насчет:

While 1
Sleep(100)
Wend

(применительно к другому случаю) сам бы хотел знать, какую оптимальную задержку выставлять.

Yozhegg
Цитата:
А нет ли для AutoIt какой-нибудь рисовалки форм?
А то очень долго координаты с "дизайн-макета" списывать..
Здрасте, а как же koda designer?

Отправлено: 16:21, 05-12-2006 | #13


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


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

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


2 Creat0R
Спасибо,всё получилось ))

Отправлено: 19:08, 05-12-2006 | #14


(*.*)


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

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


All
В теме уже свыше 500 сообщений и поиск нужной информации в ней усложняется. Есть предложение собрать все решения (скрипты) и разместить их на Wiki по принципу "один скрипт - одна статья wiki", добавляя статьи в категорию Autoit. Речь, в принципе, идет об общих решениях, а не о скриптах для установки конкретной программы. Название статьи, очевидно, должно отражать назначение скрипта. Затем можно в шапке просто разместить ссылки на статьи Wiki.

-------
Канал Windows 11, etc | Чат @winsiders


Отправлено: 23:44, 05-12-2006 | #15


Покинул форум


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

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


Sanja Alone

Слушай помнишь ты давал мне вот такой скрипт, я тут не нашел куда вставить имя rar архива и что будет если убрать из скрипта строчку ProcessWaitClose('INSTALL.exe') она мне не нужна.

Код: Выделить весь код
If $CmdLine[0]=1 Then
	$sfx=$CmdLine[1]
Else
	MsgBox(16,'Ошибка',"Недопустимое содержимое командной строки",7)
	Exit
EndIf
;пароль (берется из 3-й строки)
$password=FileReadLine(@ScriptDir&'\пароль.ini',3)
$pid=Run('"'&$sfx&'" -s')
WinWait('Ввод пароля')
ControlSetText('Ввод пароля','','Edit1',$password)
ControlClick('Ввод пароля','','Button1')
ProcessWaitClose($pid)
ProcessWaitClose('INSTALL.exe')

Отправлено: 00:43, 06-12-2006 | #16


Googler


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

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


Vadikan
Цитата:
Речь, в принципе, идет об общих решениях, а не о скриптах для установки конкретной программы
Вот-вот.... С категориями путаница получается - я в смятении. Во-первых, есть две принципиально разных версии AutoIT (причем старая v.2.64 совместима по синтаксису с AutoHotKey) - в названии категории это не указано, хотя иконка недвусмысленно указывает на 3-ю версию. Во-вторых, на данный момент эта категория подчинена автоустановке, т.е. содержание ограничено скриптами, решающими те или иные Unattend-задачи хотя сфера применения AutoIT гораздо шире. В третьих, именование категорий по алфавиту может и оправдано в пределах темы (как в автоустановке), но необосновано и неудобно в общем случае - ИМХО требуется тематическое деление по категориям (тут нужно подумать).

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

З.Ы. Либо я еще не понял WIKI либо одно из двух, но без древовидной структуры от категорий мало толку.

Отправлено: 06:05, 06-12-2006 | #17


Старожил


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

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


amel27

Я извиняюсь, уже, наверное жутко надоел, но...

...скрипт ни как не может найти секцию...

может с синтаксисом чего?

Код: Выделить весь код
$ret = _InfSectionAddLines ($DIR1 & '\' & 'HIVESYS.INF', 'AddReg', $Lines)
Код: Выделить весь код
$ret = _InfSectionReplaceText ($DIR1 & '\' & 'HIVESFT.INF', 'Strings', $text_4, $text_5)

Отправлено: 08:42, 06-12-2006 | #18


Googler


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

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


Creat0R
Цитата:
Что в функции нужно поменять, чтобы вместо открытия фалов, был выбор каталога (FileSelectFolder), и также хотелось бы чтобы была функция сохранения файлов (FileSaveDialog) - Буду очень благодарен если поможешь с этими функциями...
Вполне реально, но быстро не получится - соответствующие API-аналоги посложней будут...

Цитата:
безпрерывный цикл “заставляет” сильно загружать ЦП
Для этого в AutoIT есть метод "OnEvent" - альтернатива методу "MessageLoop". Смотри пример в HELP к GUICtrlSetOnEvent .

biork
файл и путь в личку
Это сообщение посчитали полезным следующие участники:

Отправлено: 10:12, 06-12-2006 | #19


Покинул форум


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

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


amel27

Можешь доделать вот такой скрипт, я тут не нашел куда вставить имя rar архива и что будет если убрать из скрипта строчку ProcessWaitClose('INSTALL.exe') она мне не нужна.

Код: Выделить весь код
If $CmdLine[0]=1 Then
	$sfx=$CmdLine[1]
Else
	MsgBox(16,'Ошибка',"Недопустимое содержимое командной строки",7)
	Exit
EndIf
;пароль (берется из 3-й строки)
$password=FileReadLine(@ScriptDir&'\пароль.ini',3)
$pid=Run('"'&$sfx&'" -s')
WinWait('Ввод пароля')
ControlSetText('Ввод пароля','','Edit1',$password)
ControlClick('Ввод пароля','','Button1')
ProcessWaitClose($pid)
ProcessWaitClose('INSTALL.exe')

Отправлено: 15:40, 06-12-2006 | #20



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 1.3] AutoIt скрипты

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

Похожие темы
Название темы Автор Информация о форуме Ответов Последнее сообщение
Открывая 7z архив пишет не удаётся открыть как архив. Можно ли его восстановить? DreDo Хочу все знать 4 01-12-2009 18:54
[Архив - Часть 3] AutoIt скрипты .:[общие вопросы]:. Vadikan AutoIt 1543 18-01-2009 10:46
[архив - Часть 2] AutoIt скрипты Vadikan AutoIt 985 21-01-2008 09:58
[Архив - Часть 1.2] AutoIt скрипты Dirk Diggler AutoIt 505 02-12-2006 11:00
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход