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

Компьютерный форум 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

 

Аватара для XXXler

Ветеран


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

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


Цитата:
Болшое спасибо! это мне поможет запускать программу с несколькими ключами. Но вот как запускать с ключом, который заранее не известен?
тогда надо либо определится с количеством и\или порядком ключей\параметров либо делать подключи и опциональные параметры
я уже давал пример здесь, если его видоизменить то можно передавать определенные значения с подключами:
Код: Выделить весь код
For $i=1 To $CmdLine[0]
Select
Case StringLeft(CmdLine[$i],5)="/url="
$url=StringTrimLeft(CmdLine[$i],5)

Case StringLeft(CmdLine[$i],6)="/save="
$savename=StringTrimLeft(CmdLine[$i],6)

....

EndSelect
Next
тогда можно вызывать с параметрами /url=http://ya.ru/logo.gif и\или /save=c:\temp, только следует не забывать что параметры с пробелами следует заключать в кавычки
Это сообщение посчитали полезным следующие участники:

Отправлено: 14:39, 30-08-2006 | #331



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

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


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


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

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


Sanja Alone

помогите мне сделать сделать маленький скрипт на RAR SFX архив, нажать извлечь, потом вставить пароль с текстового дока, подождать пока распакуется, подождать пока запуститься установка проги, а потом нажать - No то есть не перезагружать комп.

заранее большое спасибо!

Отправлено: 15:07, 30-08-2006 | #332


Аватара для boss911

Alien


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

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


prokazzza
Цитата:
маленький скрипт на RAR SFX архив, нажать извлечь
Зачем? Ключ /s , что не подходит!!

Отправлено: 17:22, 30-08-2006 | #333


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


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

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


boss911

Цитата:
Зачем? Ключ /s , что не подходит!!
Ключ то подходит а вот потом кто вставит пароль и нажмет на кнопки?

Отправлено: 17:42, 30-08-2006 | #334


Аватара для boss911

Alien


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

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


prokazzza
Цитата:
а вот потом кто вставит пароль и нажмет на кнопки?
Так может можно решить подобное через твик и вообще, что это за приложение!?
Сори, оффтоп получаетса!!

Отправлено: 18:02, 30-08-2006 | #335


Аватара для Creat0R

Must AutoIt


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

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


XXXler

Цитата:
можно передавать определенные значения с подключами
Приогромнейшее спасибо!

Цитата:
следует не забывать что параметры с пробелами следует заключать в кавычки
Если запускать программу с браузера опера, то там для этого предусмотренна возможность прописывания ключа с заглавной буквы, и тогда передаваемое значение (в данном случае адрес url + выделенный текст) будет автоматический помещаться в кавычки.

Вот как я приминил это дело:

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

; Всё что ниже, буде делаться если скрипт был запущен с каким либо параметром

     Case $CmdLine[0] <> 0

For $i=1 To $CmdLine[0]
Select
Case StringLeft($CmdLine[$i],5)="/url="
$url=StringTrimLeft($CmdLine[$i],5)

Case StringLeft($CmdLine[$i],5)="/txt="
$Text=StringTrimLeft($CmdLine[$i],5)

EndSelect
Next

; Пишу в файл преобразованные параметры (ключи) используя заданные для них переменные

FileWrite(@ScriptDir & "\test.txt", "Скопированный текст: " & $Text & @CRLF & "Текст был скопирован с этой странички: " & $url)

EndSelect

А команда для запуска из браузера такая:

Код: Выделить весь код
Execute program, "Test.exe", "/url=%u /txt=%T"
В результате получаю файл с выделенным текстом (в момент вызова функции), и с адресом того документа, на котором было произведенно выделение текста\вызов функции.

Кстати, ты упустил символы $ у некоторых переменных CmdLine

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

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

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


Последний раз редактировалось Creat0R, 30-08-2006 в 18:48.


Отправлено: 18:26, 30-08-2006 | #336


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

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


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

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


prokazzza
Цитата:
маленький скрипт на RAR SFX архив
Код: Выделить весь код
;имя (или полный путь и имя) sfx-архива берем из ком. строки (если ничего нет - выходим)
If $CmdLine[0]=1 Then
	$sfx=$CmdLine[1]
Else
	MsgBox(16,'Ошибка',"Недопустимое содержимое командной строки",7)
	Exit
EndIf
	
;пароль (если нужно считать из файла, тогда см. в строну ф-ций FileRead, FileReadLine, IniRead в зависимости от формата файла)
$password='Мой pass'

AutoItSetOption("WinTitleMatchMode",4)
;запуск
$pid=Run('"'&$sfx&'" -s')
WinWait('classname=#32770','.exe')
$handle=WinGetHandle("")
;вставить пароль
ControlSetText($handle,'','Edit1',$password)
;нажать извлечь
ControlClick($handle,'','Button1')
;подождать пока распакуется
ProcessWaitClose($pid)

;дальнейшие действия зависят от того, что запускается из параметра комментария Setup sfx-архива
MsgBox(64,'Готово','Файлы извлечены из архива')

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


Отправлено: 05:00, 31-08-2006 | #337


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

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


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

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


Creat0R
Если порядок параметров строго определен, то можно не париться с доп. текстом.
Тогда "анализ" ком. строки будет выглядеть так:
Код: Выделить весь код
If $CmdLine[0]<>0 Then
	$url=$CmdLine[1]
	If $CmdLine[0] = 2 Then
		$Text=$CmdLine[2]
	EndIf
Else
	MsgBox(16,'Ошибка',"Командная строка пуста...",7)
	Exit
EndIf
Команда запуска из браузера так:
Код: Выделить весь код
Execute program, "Test.exe", "%u %T"

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

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

Отправлено: 05:11, 31-08-2006 | #338


Аватара для Creat0R

Must AutoIt


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

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


Sanja Alone

Цитата:
можно не париться с доп. текстом.
Спасибо, действительно так проще.

Но у меня появилась немного другая проблема (на эту-же тему) - Дело в том, что если выделенный текст содержал кавычки (более чем две пары), то кавычки не попадают в файл. И ещё, если выделенный текст содержит кавычку, а затем пробел (в дальнейшем тексте, и именно в дальнейшем, не в предыдущем), то выдаётся сообщение с ошибкой выполнения сценария - Что мол переменная используется без того чтобы она была объявленна. А когда объявляю переменные, скрипт не выводит ошибок, но при таком случае (кавычка а затем пробел -> "текст ) вообще ничего не пишет в файл (кроме ссылки естественно). - Это лечится?


P.S:
Странно, но вот например, если выделить такой текст:

"Текст

То кавычка становится после слова (в файле):

Текст"

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

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

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


Отправлено: 17:11, 31-08-2006 | #339


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

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


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

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


Creat0R
Цитата:
кавычки не попадают в файл
При передаче AutoIt-скрипту текста в кавычках из ком. строки, обрезаются первая и вторая кавычки, а текст внутри них считаеся одним параметром, НО! если за второй кавычкой вплотную идет текст, то и он "приклеивается" к содержимому текущего параметра (возможно, это ошибка разработчиков AutoIt). Пробелы вне этих кавычек являются разделителями параметров ком. строки.

Например, если в ком. строке скрипта я напишу:
Код: Выделить весь код
"Hello, Остап Ибрагимович. Вы являетесь работником фирмы "Рога и копыта"?"
, то получу при разборе строки 3 параметра:
Код: Выделить весь код
1 - "Hello, Остап Ибрагимович. Вы являетесь работником фирмы Рога"
2 - "и"
3 - "копыта?"
Можешь это легко проверить при пом. такого тестового скриптика:
Код: Выделить весь код
For $i=1 To $CmdLine[0]
Msgbox(0,"Параметр "&$i,'<'&$CmdLine[$i]&'>')
Next
Т.о., если ты хочешь не потерять какой-то части текста, то должен анализировать полное содержимое ком. строки - $CmdLineRaw. А в этом сл., удобнее будет использовать первый вариант передачи параметров скрипту - "/url=%u /txt=%T"

P.S. Можешь еще попробовать побороться с буфером обмена. Похожая на твою задача была в старой теме - я решал ее вот так

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


Последний раз редактировалось Sanja Alone, 01-09-2006 в 04:38. Причина: Дополнил


Отправлено: 03:57, 01-09-2006 | #340



Компьютерный форум 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




 
Переход