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

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

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

Ветеран


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

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


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





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


Руководство к действию по работе c AutoIt.
Можно ли с помощью AutoIt выбрать каталог? Хочу нацарапать оболочку, которая мне будет конфиги для nnBackup писать, дык выбрать каталог для бэкапа пока только вручную получается... Нельзя ли как-нть вывалить стандартный диалог по выбору файлов-папок, и получить из него результат действий пользователей?

-------
Tega AutoPatcher. Все обновления для XP в одном пакете. http://tega.ru/dirk/links.html


Отправлено: 10:47, 10-02-2006

 

Аватара для Creat0R

Must AutoIt


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

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


amel27, Sanja Alone:

Спасибо! то что нужно было!

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

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

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


Отправлено: 13:50, 04-09-2006 | #351



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

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


Ветеран


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

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


Интереснейшая фигня наблюдается. Имеем скрипт, который пингует некий хост, и выходит с кодом либо 1, либо 0
Код: Выделить весь код
If Ping($cmdline[1],2000) > 0 Then 
	Exit(0)  ; if PING success, returns 0
Else
	Exit(1)
EndIf
Он вызывается из следующего батника:
Код: Выделить весь код
@echo off
SET PING= ping.au3
SET HOST1=google.com
SET DG=192.168.100.12312

%ping% %HOST1% 
echo ping %HOST1% returns %errorlevel%

if "%DG%"=="" (
rem 
) ELSE (
%ping% %DG%
echo ping %DG% returns %errorlevel%
)
Так вот, здесь результат БУДЕТ ОДИНАКОВЫЙ для обоих пингов, и зависит только от того, пингуется ли %HOST1%!

Цитата:
ping google.com returns 0
ping 192.168.100.12312 returns 0
Цитата:
ping google.23rwefwe returns 1
ping 192.168.100.1 returns 1
А 192.168.100.1 - мой адсл-модем, и он пингуется всегда 8-)
Однако, удалим конструкцию с IF, и всё работает как надо:
Код: Выделить весь код
@echo off
SET PING= ping.au3
SET HOST1=goowefwegle.com
SET DG=192.168.100.1

%ping% %HOST1% 
echo ping %HOST1% returns %errorlevel%
%ping% %DG%
echo ping %DG% returns %errorlevel%
Цитата:
ping goowefwegle.com returns 1
ping 192.168.100.1 returns 0
Где грабли - в AutoIt или командном интерпретаторе винды?
Проверено на XP SP1, AutoIt 3.2.0.1

Отправлено: 10:43, 08-09-2006 | #352


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


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

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


Sanja Alone

вот ссылочка на архив посмотрите пожалуста

http://uploaded.to/?id=f31c2d

весит метр внутри реадми, файл с паролем и RAR SFX архив внутри архива простая прога Atnotes вирусов НЕТ.

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

Отправлено: 13:14, 08-09-2006 | #353


Аватара для Creat0R

Must AutoIt


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

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


Такая проблема появилась:

Нужно взять значение пареметра в переменную, но брать нужно не из файла конфигурации (*.ini), а из обычного текстового файла.
Я решил эту задачу, но только если кодировка файла не является UTF-8, если она такой и является, то киррилица которая будет прописанна в значении, будет отображаться крякозябрами (если вывести переменную в MsgBox)... вот пример работающего скрипта, с файлом test.txt, который в кодировке ANSI:

Код: Выделить весь код
$File = @ScriptDir & "\test.txt"

; Поиск нужных символов в файле test.txt
$Find = _FindTextInFile($File, "2000000")

; Очищаю строку с найденным текстом, от пробелов и кавычек (так надо ;) )
$Clean1 = StringRegExpReplace($Find[1], " ", "")
$Clean2 = StringRegExpReplace($Clean1, """", "")

; Беру все символы, которые находятся после искомого слова + 1 символ (=)
$MsgBox = StringTrimLeft($Clean2, 8)

; Вывожу результат в сообщении
MsgBox(0, "", $MsgBox)

; Функция для поиска в файле, предоставленная by Sanja Alone
Func _FindTextInFile($ifile,$text)
Local $i
Dim $ret[2]
$file = FileOpen($ifile,0)
$a = StringSplit( FileRead($file, FileGetSize($ifile)), @LF)
FileClose($file)

If StringIsASCII($text) Then
	For $i = 1 To UBound($a,1)-1
		If StringInStr($a[$i],$text) Then
			$ret[0]=$i
			$ret[1]=$a[$i]
			Return $ret
		EndIf
	Next
Else
	For $i = 1 To UBound($a,1)-1
		If StringInStr(StringLower($a[$i]),StringLower($text)) Then
			$ret[0]=$i
			$ret[1]=$a[$i]
			Return $ret
		EndIf
	Next
EndIf
EndFunc
Содержание файла test.txt такое:

Код: Выделить весь код
2000000= "это тест"
И если этот файл будет в кодировке UTF-8, то в MsgBox выведутся каракули, как можно это исправить?

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

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

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


Отправлено: 02:07, 09-09-2006 | #354


Аватара для Sanja Alone

Ищу Человека…


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

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


prokazzza
Код: Выделить весь код
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')
Цитата:
иногда просит перезагрузиться
У меня не просил, след-но, этого окна я не видел.

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

Код: Выделить весь код
Global $file='atnsetup.exe', $InstPath=@ProgramFilesDir & '\ATnotes', $programgroup='ATnotes' , $rus=@ScriptDir & '\ATnotes.ini'
;установка в тихом режиме
RunWait(@ScriptDir & '\' & $file & ' /VERYSILENT /NORESTART /SP- /DIR="' & $InstPath & '" /GROUP="' & $programgroup & '"' )
;русификация
If FileExists($rus) Then Filecopy($rus,$InstPath & '\')
#cs
А вот здесь уже будет восстановление настроек
(файл ATnotes.dat и ветка реестра HKEY_CURRENT_USER\Software\Ascher\ATnotes, сохраненная в файл settings.reg)
Положи их в архив с таким комментарием:

Path=ATnotes
SavePath
Setup=cmd /c start /wait regedit /s settings.reg & del settings.reg
Silent=1

а приведенный выше скрипт (без последней строки) допиши в конец этого, и он обработает твой запароленный sfx-архив с настройками
№ce

-------
Sanja Alone's site (ConvRegToAU3, OEsr, RSA, AutoIt скрипты)


Отправлено: 06:24, 09-09-2006 | #355


Googler


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

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


Dirk Diggler
Цитата:
Однако, удалим конструкцию с IF, и всё работает как надо:
дык сам и ответил - в батнике, нужно так:
Код: Выделить весь код
@echo off
SETLOCAL ENABLEDELAYEDEXPANSION

SET PING= ping.au3
SET HOST1=google.com
SET DG=192.168.100.12312

%ping% %HOST1% 
echo ping %HOST1% returns %errorlevel%

if "%DG%"=="" (
rem 
) ELSE (
%ping% %DG%
echo ping %DG% returns !errorlevel!
)
З.Ы. подробности смотри в "CMD /?"

Отправлено: 08:13, 10-09-2006 | #356


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


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

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


Sanja Alone

вот картинка перезагрузки (1 рисунок)
по умолчанию стоит сразу на YES

и просьба можешь доработать вот этот скрипт

Код: Выделить весь код
Run("rundll32.exe netshell.dll,StartNCW")
WinWaitActive ('Мастер новых подключений','Мастер новых подключений')
Send('{Enter}')
Sleep ('500')
WinWaitActive ('Мастер новых подключений','Подключить к Интернету для просмотра веб-узлов и чтения  электронной почты.')
ControlClick ('Мастер новых подключений','Подключить к Интернету для просмотра веб-узлов и чтения  электронной почты.','Button1')
Sleep ('500')
Send('{Enter}')

WinWaitActive ('Мастер новых подключений','Каким образом подключиться к Интернету')
ControlClick ('Мастер новых подключений','Каким образом подключиться к Интернету','Button2')
Sleep ('500')
Send('{Enter}')
WinWaitActive ('Мастер новых подключений','Данное подключение использует модем и обычную телефонную линию или телефонную линию ISDN.')
ControlClick ('Мастер новых подключений','Данное подключение использует модем и обычную телефонную линию или телефонную линию ISDN.','Button1')
Sleep ('500')
Send('{Enter}')
WinWaitActive ('Мастер новых подключений','Им&я поставщика услуг')
ControlSetText ( 'Мастер новых подключений', '', 'Edit1', 'Peterstar' )
Sleep ('500')
Send('{Enter}')
WinWaitActive ('Мастер новых подключений','Номер &телефона:')
ControlSetText ( 'Мастер новых подключений', '', 'Edit1', '3203370,,,' )
Sleep ('500')
Send('{Enter}')
WinWaitActive ('Мастер новых подключений','&Имя пользователя:')
sleep (100) 
ControlSetText ( 'Мастер новых подключений', '', 'Edit1', 'Login')
sleep (100)
ControlSetText ( 'Мастер новых подключений', '', 'Edit2', 'Password')
Send('{tab}')
sleep (100)
ControlSetText ( 'Мастер новых подключений', '', 'Edit3', 'Password')
Sleep ('500')
ControlCommand ( 'Мастер новых подключений', '', 'Button13', 'Check', '' )
ControlCommand ( 'Мастер новых подключений', '', 'Button2', 'Check', '' )
Sleep ('500')
Send('{Enter}')
WinWaitActive ('Мастер новых подключений','Завершение работы мастера новых подключений')
ControlCommand ( 'Мастер новых подключений', '', 'Button20', 'UnCheck', '' )
Send('{Enter}')
Exit
(2 рисунок) - добавить галочку "отобразить на рабочем столе" - нажимаем готово, после нажатия готово запуститься подключение, добавить галочку (3 рисунок) " сохранить имя пользователя и пароль" нажимаем свойства, переходим на вкладку параметры (4 рисунок), "число набора номера 100", "интервал между повторами номера - 1 секунда", "время до разьединения - никогда", и поставить галку - перезвонить после разрыва связи, все ок и закрыть подключение.

Последний раз редактировалось prokazzza, 10-09-2006 в 11:25.


Отправлено: 10:53, 10-09-2006 | #357


Аватара для Sanja Alone

Ищу Человека…


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

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


prokazzza
Цитата:
вот картинка перезагрузки (1 рисунок)
Пик! пик! пииииик! Ты мне можешь объяснить какое отношение имеет "картинка перезагрузки" Office 2003 к скрипту установки Atnotes?

Цитата:
доработать вот этот скрипт
См. тему Соединение по dial-up автоматом и в старой теме по AutoIt bogomolv приводил вариант реализации подобного (ПОЛЬЗУЙСЯ ПОИСКОМ по форуму). Если тебе после всего прочитанного все-таки захочется доработать именно этот скрипт, то воспользовавшись AutoIt Window Info ты самостоятельно сможешь осуществить сие действо.

-------
Sanja Alone's site (ConvRegToAU3, OEsr, RSA, AutoIt скрипты)


Отправлено: 14:39, 10-09-2006 | #358


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


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

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


Sanja Alone

Цитата:
какое отношение имеет "картинка перезагрузки" Office 2003 к скрипту установки Atnotes?
это просто пример. Он не просит на Atnotes перезагрузку пришлось сделать Office для примера, который точно попросил перезагрузку.

Цитата:
ты самостоятельно сможешь осуществить сие действо
еслиб я умел, я тя наверно не просил (без обид).

Отправлено: 16:36, 10-09-2006 | #359


Аватара для Sanja Alone

Ищу Человека…


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

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


prokazzza
Цитата:
это просто пример
Практически у любого приложения есть ключи/параметры файла ответов и т.п. прибамбасы для отмены перезагрузки. Тема по Офису на форуме - вот, статьи по Офису читай на сайте + все-таки прочти статью о типах инсталляторов (ссылку я тебе уже давал). Если все же возникнут непреодолимые с пом. ключей/параметров окна, то еще прочти маленькую заметку на тему "отлова случайных окон" в моем FAQ по AutoIt.

Цитата:
еслиб я умел
Если ты не представляешь что делать с AutoIt Window Info (%ProgramFiles%\AutoIt3\AU3Info.exe) в частности и/или с AutoIt-ом в целом, тогда скачай редактор SciTE. Помимо собственно редактора, ты также получишь ScriptWriter (%ProgramFiles%\AutoIt3\SciTE\ScriptWriter\scriptwriter.exe). Думаю, что помочь в написани скрипта он тебе сможет. Это, грубо говоря, прога записи твоих действий в готовый AutoIt-код. Правда, потом нужно будет вручную подправлять такой "самописный" скрипт, но это лучше, чем ничего.

Цитата:
я тя наверно не просил
Наглость - второе счастье. Я тебе искренне завидую, ибо не имею даже первого... Я не могу за всех все делать. Я могу лишь посильно помочь в чем-то. Я тебе дал всю необходимую инфу - изучай. Бери пример с Creat0R-а. Еще пару месяцев назад он не знал базовых принципов, а сейчас замахивается "на Вильяма нашего, Шекспира".

-------
Sanja Alone's site (ConvRegToAU3, OEsr, RSA, AutoIt скрипты)


Отправлено: 03:53, 11-09-2006 | #360



Компьютерный форум OSzone.net » Программирование, базы данных и автоматизация действий » AutoIt » [Архив - Часть 1.2] 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.3] AutoIt скрипты biork AutoIt 503 09-06-2007 11:27
[Архив - Часть 1.1] AutoIt скрипты EgOrus AutoIt 335 04-02-2006 16:58




 
Переход