|
Компьютерный форум 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 |
Пользователь Сообщения: 51
|
Профиль | Отправить PM | Цитировать День добрый,
интересует следующий вопрос: Можно ли запускать IT скрипт с какимилибо параметрами, например мне нужен скрипт который бы выводи мне 2 значения из командной строки т.е. скрипт я запускаю и в результате скрипт выдал мне мессаге в котором мне былибы выданы 1 и 2 параметры заранее спасибо |
Отправлено: 07:07, 13-02-2007 | #191 |
Для отключения данного рекламного блока вам необходимо зарегистрироваться или войти с учетной записью социальной сети. Если же вы забыли свой пароль на форуме, то воспользуйтесь данной ссылкой для восстановления пароля. |
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать Вообщем такой трабл, при установке Agnitum Outpost Firewall выдает 2 окна с ошибками Microsoft Visual C++ Runtime Library. Я написал в скрипте функцию отлова этих окон с ошибками, но когда закрывается первое окно с ошибкой установка стопорится на Мастере Настройки, т.е дальше только вручную нажимать кнопки приходится. Посмотрите скрипт, мож че подскажите, или из-за чего такие ошибки вылетают, вроде библиотеки Си стоят.
СИНИМ выделено то, что добавил я, все остальное исходный скрипт от Sanja Alone #cs ---------------------- Приложение: Agnitum Outpost На какой(их) версии(ях) тестировалось: 3.5 (ru); 3.51 (ru) Автор скрипта: Sanja Alone (http://forum.oszone.net/member.php?userid=28800) ---------------------- #ce ;предотвращение возможности множественного запуска скрипта If WinExists(@ScriptName) Then Exit AutoItWinSetTitle(@ScriptName) ;блокируем мышь и клаву ;AutoItSetOption("TrayIconHide", 1) ;Отображать текущую строку сценария с помощью индикатора системной панели в режиме отладки. AutoItSetOption("TrayIconDebug", 1) AutoItSetOption("SendKeyDelay", 15) If ProcessExists ( "ps.exe" )<>0 Then ProcessClose ( "ps.exe" ) ProcessWaitClose ( "ps.exe" ) EndIf ;нельзя блокировать при находящемся в памяти Punto Switcher-е - не будет работать установка ;блокируем мышь и клаву ;If @OSType="WIN32_NT" Then BlockInput ( 1 ) #cs ---------------------- объявление переменных ---------------------- $file - установочный файл $serial - если имеете рабочий ключ, то введите его сюда $programgroup - в какую программную группу положить ярлыки программы $delfromautorun - удалить Outpost из автозапуска (1 - удалить (по ум.), любое другое значение - не удалять) ---------------------- #ce Global $file='OutpostProInstall.exe', $serial='XXXXX', $programgroup='Agnitum Outpost Firewall', $delfromautorun=1 AdlibEnable("wfp",1000) If FileExists ( @ProgramFilesDir & '\Agnitum\Outpost Firewall\outpost.exe' ) Then MsgBox (64, 'Сообщение', 'Agnitum Outpost Firewall уже установлен', 5) Exit Else Run ( @ScriptDir & '\' & $file & ' /LANG="ru" /NOAUTOUPDATE /NORESTART /VERYSILENT' ) EndIf WinWait ( 'Мастер настройки' ) WinActivate ( 'Мастер настройки' ) WinWaitActive ( 'Мастер настройки' ) Send ( '{ENTER}' ) While ControlCommand ( 'Мастер настройки', '', '< &Назад', 'IsEnabled', '')=0 WEnd WinActivate ( 'Мастер настройки' ) WinWaitActive ( 'Мастер настройки' ) ;Далее Send ( '{ENTER}' ) WinWait ( 'Ручная настройка' ) WinActivate ( 'Ручная настройка' ) WinWaitActive ( 'Ручная настройка' ) ;Готово Send ( '{ENTER}' ) #cs ---------------------- Крякнутые dll-ки и настройки программы поместите в самораспаковывающиеся архивы settings.exe - настройки opst_ui.exe - крякнутые dll-ки (если нет рабочего серийника) команды SFX-сценария (для обоих архивов, winrar): Path=Agnitum\Outpost Firewall SavePath Silent=1 Overwrite=1 ---------------------- #ce If WinWait("Microsoft Visual C++ Runtime Library") Then WinActivate("Microsoft Visual C++ Runtime Library") WinWaitActive("Microsoft Visual C++ Runtime Library") Send("{ENTER}") EndIf If FileExists ( @ScriptDir & '\settings.exe' ) Then RunWait ( @ScriptDir & '\settings.exe' ) ;регистрация If $serial<>'' Then RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Agnitum\Outpost Firewall","Key","REG_SZ",$serial) ElseIf FileExists ( @ScriptDir & '\opst_ui.exe' ) Then RunWait ( @ScriptDir & '\opst_ui.exe' ) EndIf ;перенос ярлыков DirCopy ( @ProgramsCommonDir & '\Agnitum\Outpost Firewall', @ProgramsCommonDir & '\' & $programgroup, 1 ) DirRemove ( @ProgramsCommonDir & '\Agnitum', 1 ) ;отключить Автообновление RegWrite("HKEY_LOCAL_MACHINE\SOFTWARE\Agnitum\Outpost Firewall\General","AutoUpdate","REG_DWORD",0x00000000) ;убрать Аутпост из автозапуска (если это было задано выше) If $delfromautorun=1 Then RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "Outpost Firewall") RegDelete("HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Run", "OutpostFeedBack") EndIf AdlibDisable() ;BlockInput ( 0 ) Exit Func wfp() If WinWait("Microsoft Visual C++ Runtime Library","") Then WinActivate("Microsoft Visual C++ Runtime Library") WinWaitActive("Microsoft Visual C++ Runtime Library") Send("{ENTER}") EndIf EndFunc |
Отправлено: 08:13, 13-02-2007 | #192 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Dicken
Цитата:
... а также поищи в справке по ключу $CmdLine. |
|
Отправлено: 09:27, 13-02-2007 | #193 |
Пользователь Сообщения: 76
|
Профиль | Отправить PM | Цитировать В стандартных примерах нашёл скрипт sysinfo. Так вот, можно ли сделать, чтобы этот скрипт вместо временной папки или папки Windows(допустим) выводил пароль и имя для каждого пользователя?
Кстати, у кого-нибудь есль стандартные модули с русскими комментариями? |
Отправлено: 17:37, 14-02-2007 | #194 |
Пользователь Сообщения: 135
|
Профиль | Отправить PM | Цитировать Нашёл недостаток в InputBox(), проверка на IsNumber() всегда возвращает строчную переменную, даже если вводимые данные были представлены в цифре.
Предлагаю два варианта решения: ;~ Эта функция работает только с обычными целыми числами ;~ числа типа: 0x5, 4.03 или 00001 не подойдут Проверка переменной на пренадлежность к числам: Func _IsNumber($var) $check=Number($var) If String($check)=String($var) Then Return 1 Else Return 0 EndIf EndFunc ;------------------------------------- ;~ А это первое что мне пришло в голову (банальный перебор) Проверка переменной на принадлежность к целым числам: Func _IsInt($var) If $var= "" Then Return -1 EndIf $len=StringLen($var) $check=0 For $j=48 To 57 For $i=1 To $len If StringMid($var,$i,1)=Chr($j) Then $check=$check+1 EndIf Next Next If $check=$len Then Return 1 Else Return 0 EndIf EndFunc |
Отправлено: 18:01, 14-02-2007 | #195 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Diamond
Это не недостаток, а издержки типа данных Variant - кстати, аналогично и в Visual Basic... Преобразование типа происходит непосредственно перед выполнением операций с данными - например, при попытке провести арифметические операции со строковой переменной... поэтому иногда вместо преобразования проще прибавить к переменной "0". То, что InputBox() возвращает текстовую строку вполне логично. ИМХО текстовый ввод проще контролировать регулярными выражениями, тем более что этот способ универсален и подходит для любых входных данных: |
Последний раз редактировалось amel27, 15-02-2007 в 07:07. Отправлено: 04:32, 15-02-2007 | #196 |
Must AutoIt Сообщения: 3054
|
Профиль | Сайт | Отправить PM | Цитировать amel27
Цитата:
Немного в другую сторону... У меня есть пару вопросов касающихся сети: 1) Функция InetGet при закачке файлов, обходит прокси? или таже UDF-функция для _InetGetSource тоже не работает с прокси? Мне нужно каким то образом, получать данные с сети (будь то закачка файла или получение исходного кода страницы), вне зависимости от того, подключён ли компьютер к сети через прокси или напрямую. Но желательно каким то хитрым образом обходить прокси, не выключая его (т.е не заметно для юзера) - это вообще возможно? 2) В сети у меня лежит файл с расширением *.js (хотя не очень важно расширение), какое самое быстрое средство для получения с него данных (для его чтения)? неужели _InetGetSource() это самое быстрое(?) средство? |
|
------- Отправлено: 08:54, 15-02-2007 | #197 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Creat0R
Цитата:
Цитата:
|
||
Отправлено: 12:13, 15-02-2007 | #198 |
Пользователь Сообщения: 135
|
Профиль | Отправить PM | Цитировать amel27
Цитата:
|
|
Отправлено: 16:05, 15-02-2007 | #199 |
Googler Сообщения: 3665
|
Профиль | Отправить PM | Цитировать Diamond
Обнови версию AutoIT - это новая фича, еще не устаканилась... |
Отправлено: 01:53, 16-02-2007 | #200 |
Участник сейчас на форуме | Участник вне форума | Автор темы | Сообщение прикреплено |
| |||||
Название темы | Автор | Информация о форуме | Ответов | Последнее сообщение | |
Открывая 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 |
|