|
Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 1.3] AutoIt скрипты |
|
[Архив - Часть 1.3] AutoIt скрипты
|
Старожил Сообщения: 250 |
Профиль | Отправить PM | Цитировать
Внимание! Тема переведена в архивное состояние (настоятельно рекомендуется к прочтению/поиску) Руководство к действию по работе 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 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Creat0R
Цитата:
ADD: на форуме сабжа нашел DLL-ку, позволяющую реализовать CallBack-функциив AutoIT... Если устроит такой вариант можно попробовать для случая стартового каталога в самопальном _FileSelectFolder(). sattva Смотри в справке функцию FileCreateShortcut(), 6-й и 8-й параметры задают файл и номер иконки в файле. twincode если имя шары не меняется, то можно и так: $ABC = "cdefghijklmnopqrstuvwxyz" $oldServer = "server1" $newServer = "server2" For $i=1 To StringLen ($ABC) $drive = StringMid ($ABC, $i, 1) & ':' $share = DriveMapGet ($drive) If $share <> "" Then $border = StringInStr ($share, '\' ,0 ,3) $server = StringMid ($share, 3, $border-3) $folder = StringMid ($share, $border) If $server = $oldServer Then DriveMapDel ($drive) DriveMapAdd ($drive, '\\' & $newServer & $folder) EndIf EndIf Next |
|
Последний раз редактировалось amel27, 18-04-2007 в 02:16. Отправлено: 04:46, 17-04-2007 | #311 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать amel27
Цитата:
|
|
------- Отправлено: 02:41, 18-04-2007 | #312 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Creat0R
Ну... при использовании штатных библиотек (поставляемых с операционной системой) придется сначала внимательно прочитать MSDN, так как варианты вызова обычно зависят от множества факторов типа версии Windows и пр. Если все требования соблюдены, то теоретически проблем не должно быть. Касаемо самопальных библиотек (типа той с форума) - тут все на совести их разработчика . |
Отправлено: 05:27, 18-04-2007 | #313 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать я новичек в autoit
пытаюсь написать скрипт установки программы. дошел до окна, где нужно выбрать несколько чекбоксов и нажать "далее". Если все это делать с функциеей Send, и выставить побольше AutoItSetOption("SendKeyDelay", 150), товсе идет, а вот с функциеей ControlClick нет. Флажки не ставятся, а сразу "Далее" (это если Send("!Д")) если Send("{ENTER}") или той же ControlClick просто стоит. До нажатия "далее" все работает. Я думал, что скрип выполняеться построчно ....Помогите разобраться |
Отправлено: 13:27, 18-04-2007 | #314 |
Новый участник Сообщения: 5
|
Профиль | Отправить PM | Цитировать Флажки можно поставить пробелом. Перескакивать между элементами - ТАВ
Кстати кто нибудь знает как при компиляции в скрипт загнать свои собственные файлы и папки - пишу собственный инсталлятор |
Отправлено: 19:17, 18-04-2007 | #315 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать magnetikus
Цитата:
|
|
------- Отправлено: 20:25, 18-04-2007 | #316 |
Новый участник Сообщения: 2
|
Профиль | Отправить PM | Цитировать Цитата:
Send("{DOWN}") Send("{DOWN}") Send("{SPACE}") Send("{DOWN}") Send("{DOWN}") Send("{ENTER}") Send("{DOWN}") Send("{DOWN}") Send("{DOWN}") Send("{DOWN}") Send("{SPACE}") Send("{DOWN}") Send("{DOWN}") Send("{ENTER}") Send("{ENTER}") Меня интересуе, почему при использовании ControlClick начинает исполняться Send("{ENTER}"), а предшевствующие ей ControlClick прорускаються?! |
|
Отправлено: 15:35, 19-04-2007 | #317 |
Ветеран Сообщения: 565
|
Профиль | Сайт | Отправить PM | Цитировать Как с пом. Autoit узнать список установленных обновлений ОС[и их версий] ?
|
Отправлено: 17:48, 23-04-2007 | #318 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Dirk Diggler
например, из реестра... не понял насчет версий, как вариант - найти соотв. CAT-файл и восстановить его дату #include <Array.au3> $file = "C:\HotFixes.txt" $aList = _GetHotFixes () $f = FileOpen ($file, 2) For $i=1 To $aList[0][0] FileWrite ($file, $aList[$i][0] & @CRLF & $aList[$i][1] & @CRLF & $aList[$i][2] & @CRLF & @CRLF) Next FileClose ($f) Func _GetHotFixes () Local $i, $j, $k, $iKey, $jKey, $kKey Local Const $root1 = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\HotFix" Local Const $root2 = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Updates" Local $arrList[1] = [0], $arrHFix[1][3] = [[0,0,0]] $i=1 While True $iKey = RegEnumKey ($root1, $i) If @error Then ExitLoop $arrList[0]+=1 ReDim $arrList[$arrList[0]+1] $arrList[$arrList[0]] = $iKey $i+=1 Wend $i=1 While True $iKey = RegEnumKey ($root2, $i) If @error Then ExitLoop $j=1 While True $jKey = RegEnumKey ($root2 & '\' & $iKey, $j) If @error Then ExitLoop If _ArraySearch ($arrList, $jKey, 1) > 0 Then $arrHFix[0][0] +=1 ReDim $arrHFix[$arrHFix[0][0]+1][3] $arrHFix[$arrHFix[0][0]][0]=$jKey $arrHFix[$arrHFix[0][0]][1]=$iKey $arrHFix[$arrHFix[0][0]][2]=RegRead ($root2 & '\' & $iKey & '\' & $jKey, 'Description') If @error Then $arrHFix[$arrHFix[0][0]][2]=RegRead ($root2 & '\' & $iKey & '\' & $jKey, 'PackageName') ElseIf StringRegExp ($jKey, '^SP[1-9]$') Then $k=1 While True $kKey = RegEnumKey ($root2 & '\' & $iKey & '\' & $jKey, $k) If @error Then ExitLoop If _ArraySearch ($arrList, $kKey, 1) > 0 Then $arrHFix[0][0] +=1 ReDim $arrHFix[$arrHFix[0][0]+1][3] $arrHFix[$arrHFix[0][0]][0]=$kKey $arrHFix[$arrHFix[0][0]][1]=$iKey $arrHFix[$arrHFix[0][0]][2]=RegRead ($root2 & '\' & $iKey & '\' & $jKey & '\' & $kKey, 'Description') If @error Then $arrHFix[$arrHFix[0][0]][2]=RegRead ($root2 & '\' & $iKey & '\' & $jKey, 'PackageName') EndIf $k+=1 Wend EndIf $j+=1 Wend $i+=1 Wend Return $arrHFix EndFunc |
Последний раз редактировалось amel27, 28-04-2007 в 11:32. Отправлено: 09:44, 24-04-2007 | #319 |
Новый участник Сообщения: 38
|
Профиль | Отправить PM | Цитировать Сделал недавно скрипт, в котором на одной из стадий заменяются три файла (именно в таком порядке):
c:\windows\system32\dllcache\Notepad.exe c:\windows\system32\Notepad.exe c:\windows\Notepad.exe У меня на компе при этом выскакивает сообщение о том, что системные файлы были изменины. Ну я засунул в конец скрипта следующий код: WinWaitActive ( "Защита файлов Windows", "Файлы, нужные для правильной работы Windows" ) ControlClick ( "Защита файлов Windows", "Файлы, нужные для правильной работы Windows", 2 ) WinWaitActive ( "Защита файлов Windows", "Вы отказались от восстановления исходных версий файлов." ) ControlClick ( "Защита файлов Windows", "Вы отказались от восстановления исходных версий файлов.", 6 ) На моём компе всё ставится отлично. А на компе одного из знакомых сообщение не выскакивает. Только происходит замена моего файла на стандартный. Не знаю, что и делать. Единственное отличие между компами: на моём нет никаких заплаток, тогда как у знакомо есть выделенка и стоит куча обновлений. |
Отправлено: 19:53, 25-04-2007 | #320 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Открывая 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 |
|