Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 3)

Модерирует : gyra, Maz

gyra (23-01-2020 10:51): AutoIT (Часть 4)  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

   

Widok



Moderator-Следопыт
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

 
Описание:

Цитата:
AutoIt v3 - это язык для написания сценариев, напоминающий BASIC. Основным его назначением является автоматизация работ с Windows GUI (графическим интерфейсом пользователя MS Windows). Для выполнения этой сложной задачи предоставляется комбинация испытанных методов, включающих в себя эмуляцию нажатий комбинаций клавиш клавиатуры, перемещения указателя мыши, управление окнами и их визуальными элементами. Как показывает практика, эти "приводные ремни" весьма эффективны для получения работающих решений в ситуациях, когда другие стандартные средства (например, VBScript и SendKeys) оказываются бессильны.
Умеет он очень и очень многое! Бесплатный.

 
  • Справки
  • Инструменты
  • Ресурсы, посвящённые AutoIt
  • Полезные советы новичкам и не только
  • Готовые решения
  • Скрипт раскраски кода AutoIt для публикации в форумах
     


     
    За шапкой следит ViSiToR / AZJIO  

  • Всего записей: 24190 | Зарегистр. 07-04-2002 | Отправлено: 13:07 01-06-2010 | Исправлено: Maz, 12:29 10-01-2020
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Вот скрипт для вставки пароля в прогу базу паролей.

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 05:01 25-09-2018
    Sauron_zombie



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO
    Спасибо!  
    Буду пробовать разобраться...
    А PassCmd.exe - это сторонняя прога?

    Всего записей: 536 | Зарегистр. 31-01-2006 | Отправлено: 10:23 25-09-2018
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    да, сторонняя прога. Но я бы сказал там сложноватый пример, там закрываются всякие окна, чтобы осталось только дописать нужную часть пароля и нажать Enter. Там  не лучше не хуже чем любая программа автоматизации окна. В справке надо смотреть раздел "ФУНКЦИИ-Окна" и Управление элементами

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 01:38 26-09-2018 | Исправлено: AZJIO, 01:40 26-09-2018
    AlexandrPessimist



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Здравствуйте. Подскажите пожалуйста, можно ли реализовать пакетную замену значений в текстовых файлах:
    Предисловие:
    1. Есть папка с файлами (включая подпапки), всего около 100 текстовых файлов.
    2. Есть INI-файл с содержимым в виде:
    [replace]
    старое_значение=новое_значение
    ...около 120 пар значений
    Требуется поочередно открыть каждый текстовый файл, найти все старые значения, заменить их новыми значениями.
    Процесс поиска\замены может занять около 20-30 мин., но это будет лучше, чем в Notepad++ вручную искать\заменять каждое значение во всех файлах в папке..

    Всего записей: 21 | Зарегистр. 19-02-2016 | Отправлено: 20:57 28-09-2018
    U235

    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AlexandrPessimist
    Прошу прощения за оффтопик, но если привести ini файл к виду (например, тем же Notepad++) :
    s/старое значение/новое значение/g
    то можно сделать все быстро с помощью bat (bash) скрипта с циклом for /R для рекурсивного поиска по папке с подпапками. И замены sed'ом:

    Код:
    sed -i -f ini_file %%I

    Sed для Windows есть в Gnuwin32
     

    Всего записей: 883 | Зарегистр. 14-12-2005 | Отправлено: 21:49 28-09-2018
    AlexandrPessimist



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Как мне думается, нужно загрузить в 1 array список всех *.smali в папке (включая подпапки), во 2 array загрузить всю секцию из INI-файла. Далее, циклом подставлять имя файла, старое значение и новое значение, например:
    файл 1
    найти 0x123 заменить на 0x321
    найти 0x456 заменить на 0x654
    ...остальные пары значений
    файл 2
    найти 0x123 заменить на 0x321
    найти 0x456 заменить на 0x654
    ...остальные пары значений

    Всего записей: 21 | Зарегистр. 19-02-2016 | Отправлено: 22:39 28-09-2018
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AlexandrPessimist
    Прога уже написана TextReplace. Исходник в комплекте.

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 01:02 29-09-2018
    AlexandrPessimist



    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO, спасибо, отличная утилита. Разобрался со сценариями замены, буду ей пользоваться.

    Всего записей: 21 | Зарегистр. 19-02-2016 | Отправлено: 22:23 29-09-2018
    nibble74

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Приветствую всех.
     
    Помогите вывести в _ArrayDisplay
     
    Код

    Всего записей: 17 | Зарегистр. 30-12-2013 | Отправлено: 04:50 13-10-2018 | Исправлено: nibble74, 04:51 13-10-2018
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    nibble74

    Цитата:
    Помогите вывести в _ArrayDisplay  

    А что выводить то?
    $sOut не массив, а строка, можно конечно ее преобразовать в массив, например так

    Код:
    #include <Array.au3>
    $sOut = ''
    $iPID = Run('cmd.exe /?', @SystemDir, @SW_HIDE, $STDOUT_CHILD)
     
    While 1
    $sOut &= StdoutRead($iPID)
    If @error Then ExitLoop
    WEnd
    MsgBox(4096, "", $sOut)
    _ArrayDisplay(StringSplit($sOut,@CRLF,1))

     

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 05:08 13-10-2018
    nibble74

    Newbie
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    NIKZZZZ
     
    Вот с этим String и была у меня загвоздка, нужно было без последней пустой строки в массиве.
    Сделал так  StringSplit(StringTrimRight(StringStripCR($sOut), 1), @CRLF)
     
    Спасибо.

    Всего записей: 17 | Зарегистр. 30-12-2013 | Отправлено: 14:22 13-10-2018 | Исправлено: nibble74, 14:24 13-10-2018
    elchupakabra



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Уважаемые, подскажите пожалуйста реализацию на AutoIt команды:
    set "AppData=%cd%\config"
    Заранее спасибо.

    Всего записей: 1571 | Зарегистр. 05-11-2005 | Отправлено: 11:13 25-10-2018
    Smitis



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    elchupakabra

    Цитата:
    Уважаемые, подскажите пожалуйста реализацию на AutoIt команды:
    set "AppData=%cd%\config"  


    Код:
    EnvSet("AppData",@WorkingDir & "\config")



    ----------
    Разум когда-нибудь победит

    Всего записей: 3179 | Зарегистр. 09-02-2003 | Отправлено: 11:57 25-10-2018
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 13:01 25-10-2018 | Исправлено: NIKZZZZ, 14:53 25-10-2018
    Smitis



    Silver Member
    Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
    NIKZZZZ

    Цитата:
    Еще вариант

    CD - локальная переменная CMD. Работать не будет.


    ----------
    Разум когда-нибудь победит

    Всего записей: 3179 | Зарегистр. 09-02-2003 | Отправлено: 14:32 25-10-2018 | Исправлено: Smitis, 14:34 25-10-2018
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Smitis

    Цитата:
    CD - локальная переменная CMD. Работать не будет.  

    Да, как-то это не учел.
    Тогда так

    Код:
    Opt("ExpandEnvStrings",1)
    EnvSet("AppData","%__CD__%config")


    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 14:52 25-10-2018
    elchupakabra



    Advanced Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Очень, признателен за помощь в недавним вопросом, но тут ещё один появился.
     
    Это не значит, что буду постоянно докучать хотелками, он просто давненько уже возник, но вот сейчас при сборке PotPlayer вспомнил про него, а мои знания в AutoIt увы зачаточны, сам или не справлюсь или до-о-олго буду мучаться.
     
    Для использования в PotPlayer примочки libtorrent в системах ниже Win8.1 ссылку надо обработать (считается, что magnet-ссылка уже скопирована и работаем мы с буфером).
     
    Вот первая попавшаяся со страницы rutor'a:
    Код:
     
    magnetxt=urn:btih:a99ba5b786fe6dadfa7894de6fed1ff09579c827&dn=rutor.info_%D0%92%D0%BE%D1%80%D0%BE%D0%BD%D0%B0+%5B01-03+%D0%B8%D0%B7+12%5D+%282018%29+WEBRip+%D0%BE%D1%82+Files-x&tr=udp://opentor.org:2710&tr=udp://opentor.org:2710&tr=http://retracker.local/announce
    Что нужно:
    1. Обрезать всё что после magnetxt=urn:btih:a99ba5b786fe6dadfa7894de6fed1ff09579c827
    Резать, я так понимаю, можно просто по количеству символов, немного тестировал на разных трекерах, оно одинаковое, т.е. 75
    2. добавить слева обрезанного текста символы: libtorrent://0,
    3. Т.е. должно получиться после обрезки и склейки: libtorrent://0,magnetxt=urn:btih:a99ba5b786fe6dadfa7894de6fed1ff09579c827
    Полученное копируется в буфер
     
    p.s. тут смайл вылез вместо группы символов, но думаю особо на суть не повлияет вопроса

    Всего записей: 1571 | Зарегистр. 05-11-2005 | Отправлено: 10:58 30-10-2018 | Исправлено: elchupakabra, 11:00 30-10-2018
    NIKZZZZ



    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    elchupakabra

    Код:
    $sMaghet='magnet:?xt=urn:btih:a99ba5b786fe6dadfa7894de6fed1ff09579c827&dn=rutor.info_%D0%92%D0%BE%D1%80%D0%BE%D0%B....'
    $sRes=StringRegExpReplace($sMaghet,'(?i)(magnet:[^&]+).*','libtorrent://0,\1')
    MsgBox(4096,$sMaghet,$sRes)

    Всего записей: 5365 | Зарегистр. 08-02-2006 | Отправлено: 11:22 30-10-2018
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Началось здесь, в итоге пришёл сюда - хороший пример программно получить выделенные файлы или пути к открытым папкам.

    Всего записей: 4407 | Зарегистр. 03-05-2006 | Отправлено: 14:33 09-11-2018
    Retro222

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO, а почему вы не переводите дальше?
     
    Ведь версии уже давно ушли вперёд.

    Всего записей: 260 | Зарегистр. 21-09-2018 | Отправлено: 15:52 09-11-2018 | Исправлено: Retro222, 15:53 09-11-2018
       

    Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200

    Компьютерный форум Ru.Board » Компьютеры » Программы » AutoIT (Часть 3)
    gyra (23-01-2020 10:51): AutoIT (Часть 4)


    Реклама на форуме Ru.Board.

    Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
    Modified by Ru.B0ard
    © Ru.B0ard 2000-2024

    BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

    Рейтинг.ru