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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    comrades, возник вдруг вопрос: а есть ли разница в скорости работы скомпилированного скрипта и нет? Или это только вопрос удобства?

    Всего записей: 6596 | Зарегистр. 28-01-2008 | Отправлено: 22:58 03-10-2014
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Skif_off
    Технологически  скомпилированный exe это симбиоз скрипта с интерпретатором. Так что они должны исполнятся одинаково.
     
    helbvtynec
    Может какое нибудь скрытое дочернее окно, временно созданное перехватывает на себя.

    Всего записей: 4559 | Зарегистр. 03-05-2006 | Отправлено: 00:12 04-10-2014 | Исправлено: AZJIO, 00:18 04-10-2014
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    comrades, ради любопытства и практики для решил попробовать прикрутить к JPEGView возможность копировать и перемещать файлы по хоткею (автору скорее всего всё-таки напишут и попросят добавить функции), вроде получилось.
    Скрипт запускается с параметрами %filename% copy|move 1|2, но каждый раз выбирать путь с начала нехорошо, для начала объявил переменные $sNewFilePath и $sNewFilePathCur, добавил запрет на запуск нескольких копий скрипта и несколько усложнил получение каталога назначения

    Код:
    Local $sNewFilePath $sNewFilePathCur
     
    ;Запрет одновременного запуска более одной копии скрипта
    If WinExists(@ScriptName) Then Exit
    AutoItWinSetTitle(@ScriptName)
    ;Получаем каталог назначения
    If $sNewFilePathCur = '' Then
        $sNewFilePath = FileSelectFolder('Укажите каталог назначения', '', 1+4)
        If @error = 1 Then Exit
        $sNewFilePathCur = $sNewFilePath
    Else
        $sNewFilePath = FileSelectFolder('Укажите каталог назначения', '', 1+4, $sNewFilePathCur)
        If @error = 1 Then Exit
        $sNewFilePathCur = $sNewFilePath
    EndIf

    А дальше завис Как оставить скрипт запущенным и передавать ему новые параметры?
    Так понимаю, чтобы не закрывался, нужен цикл вроде такого:

    Код:
    While ProcessExists('JPEGView.exe')
        ...
        Sleep(150)
    WEnd

    но что-то никак не соображу, как его организовать. Нагуглить подобное с разбегу не получилось.

    Всего записей: 6596 | Зарегистр. 28-01-2008 | Отправлено: 03:21 06-10-2014 | Исправлено: Skif_off, 03:24 06-10-2014
    AZJIO



    Silver Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Skif_off
    Смотря откуда берешь параметры. Можно сделать чтобы хоткей брал их из GUI. Обязательно чтобы программа висела в процессах? Если раз в месяц копировать то и пускай выполняет дела и завершается.

    Всего записей: 4559 | Зарегистр. 03-05-2006 | Отправлено: 03:34 07-10-2014
    Skif_off

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

    Код:
    #NoTrayIcon
     
    If FileExists(@AppDataDir & '\JPEGView\JPEGViewCopyMove.ini') Then
        $sConfFile = (@AppDataDir & '\JPEGView\JPEGViewCopyMove.ini')
    Else
        $sConfFile = (@ScriptDir & '\JPEGViewCopyMove.ini')
    EndIf
     
    While ProcessExists('JPEGView.exe')
        Sleep(1000)
    WEnd
     
    IniDelete($sConfFile, 'Main', 'LastPath')

    для очистки JPEGViewCopyMove.ini. Что-то стоит исправить?
     
    Добавлено:
    Исправлены смешные ошибки.

    Всего записей: 6596 | Зарегистр. 28-01-2008 | Отправлено: 09:42 07-10-2014 | Исправлено: Skif_off, 20:59 07-10-2014
    gvshil

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Подскажите, пожалуйста, как удалить файл в  поддиректориях скрипта (глубина вложения разная)?

    Всего записей: 221 | Зарегистр. 30-04-2003 | Отправлено: 12:10 08-10-2014
    AZJIO



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

    Цитата:
    удалить файл

    Код:
    FileDelete(@ScriptDir & "\папка\*.tmp")
    Ну а если файлы, то использовать функцию поиска файлов, например _FO_FileSearch

    Всего записей: 4559 | Зарегистр. 03-05-2006 | Отправлено: 15:00 08-10-2014 | Исправлено: AZJIO, 15:03 08-10-2014
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO
    Не совсем понимаю, как сработает FileDelete, если в описании отмечено

    Цитата:
    Учтите, что эта функция не является рекурсивной, при использовании маски вложенные папки не обрабатываются.

    а глубина вложения неизвестна?

     
    Добавлено:
    Туплю, сначала найти, удалять потом.

    Всего записей: 6596 | Зарегистр. 28-01-2008 | Отправлено: 15:15 08-10-2014 | Исправлено: Skif_off, 15:17 08-10-2014
    gvshil

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

    Цитата:
    AZJIO

    С простым удалением все понятно. Я спрашивал о несколько другом.  
    Есть конкретные файлы (имя_файла.exe и имя_файла.ini), расположены они в разных поддиректориях директории (пардон, масло масляное) и их нужно удалить без прописывания пути к каждому файлу.

    Всего записей: 221 | Зарегистр. 30-04-2003 | Отправлено: 15:30 08-10-2014
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    gvshil
    Сначала найти, а потом удалить - не вариант? Тогда попробуйте так

    Код:
    Run(@ComSpec & ' /c del /f /s /q "' & @ScriptDir & '\*имя_файла.exe"', "", @SW_HIDE)

    Всего записей: 6596 | Зарегистр. 28-01-2008 | Отправлено: 17:01 08-10-2014 | Исправлено: Skif_off, 17:02 08-10-2014
    gvshil

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Skif_off
    Спасибо, так работает.

    Всего записей: 221 | Зарегистр. 30-04-2003 | Отправлено: 17:07 08-10-2014
    AZJIO



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

    Всего записей: 4559 | Зарегистр. 03-05-2006 | Отправлено: 21:58 10-10-2014
    321new



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Ребята, можете помочь с этим:
    Надо сделать простой autoit код типа такого:

    Код:
    $sText1 = 'File1'
    $sText1 = 'File2'
    MsgBox(64, 'Информация', 'Запущено со значением  $sText1 при запуске файла')
    exit
     

    Нужно, чтобы он:
    1) при запуске через ярлык (или даже bat) с параметром -1 выводил на экран сообщение со значением File1 вместо $sText1 в сообщении
    2) при запуске через ярлык (или даже bat) с параметром -2 выводил на экран сообщение со значением File2 вместо $sText2 в сообщении
    3) при простом запуске без параметров ничего не выполнялось
     
    Возможно такое слепить?

    Всего записей: 463 | Зарегистр. 03-11-2011 | Отправлено: 01:13 11-10-2014 | Исправлено: 321new, 01:14 11-10-2014
    AZJIO



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

    Код:
    If $CmdLine[0] Then
        Switch $CmdLine[1]
            Case "-1"
                $sText1 = 'File1'
            Case "-2"
                $sText1 = 'File2'
        EndSwitch
        MsgBox(64, 'Информация', 'Запущено со значением ' & $sText1 & ' при запуске файла')
    EndIf

    подробнее

    Всего записей: 4559 | Зарегистр. 03-05-2006 | Отправлено: 05:55 11-10-2014 | Исправлено: AZJIO, 06:00 11-10-2014
    321new



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    AZJIO, благодарю

    Всего записей: 463 | Зарегистр. 03-11-2011 | Отправлено: 13:31 11-10-2014
    Fsp050

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Уже задавал этот вопрос, но мне сказали, не в том разделе)
    Подскажите, пожалуйста, решаема ли такая ситуация. Мне надо залить на яндекс диск много своих файлов(речь идет о сотнях), но когда их туда зальешь, вылезает такое окно.

     
     Приходится механически копировать и название файла и ссылку.
    Можно ли этот процесс автоматизировать. Сделать, чтобы после загрузки, создавался документ, в котором все залитые файлы и ссылки к ним отображались в таком виде
    кинга1
    ссылка
    книга 2
    ссылка

    Всего записей: 361 | Зарегистр. 02-04-2011 | Отправлено: 14:25 11-10-2014
    321new



    Full Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Fsp050, как вариант, сделай так:
    1. Поставь програмку Яндекс Диск на свой ПК
    2. Создай папку
    3. Добавь в папку файлики и папки ныжные
    4. расшарь/получи ссылку на эту папку
    При переходе на эту ссылку ты попадёшь в папку с твоими файлами и папками и на выбор можешь скачать нужный файл сам.

    Всего записей: 463 | Зарегистр. 03-11-2011 | Отправлено: 15:40 11-10-2014
    Fsp050

    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    321new
    ты не понял. Мне нужна  реальная ссылка, чтобы потом её на форум отправить
    т.е. на форуме будет так
    Общая психология
    http://yadisk.ru/ri0437
    и так далее.
    просто у меня сотни материалов, которые надо выложить на форуме, мне просто будет долго механически каждую ссылку вставлять на форум.
     
     
     
    Добавлено:
    мне уже посоветовали http analyzerom проследить как заливается на яндекс диск и как формируется ссылки,но что-то то-ли я не умею аналайзером пользоваться, толи он не следит за тем как заливаются файлы.
    или можно автоитом автоматизировать способ загрузки по APi
    https://api.yandex.ru/disk/api/reference/upload.xml

    Всего записей: 361 | Зарегистр. 02-04-2011 | Отправлено: 19:14 11-10-2014 | Исправлено: Fsp050, 19:30 11-10-2014
    Skif_off

    Gold Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    comrades, подскажите, пожалуйста, в чём может быть проблема?
    Скрипт для перезапуска Total Commander (кусок, скрипт большой и делает ещё много чего). Запускается строкой вида

    Код:
    @ScriptDir & '\AutoIt3.exe ' & @ScriptDir & '\Restart.au3 "%путь к exe'шнику текущей копии ТС%"'

    Работает нормально, но если попытаться перезапустить с повышением прав (пункт С админ. правами в меню ПКМ на кнопке или звездочкой "*" в начале команды), то иногда не срабатывает, причём выглядит так, будто

    Код:
    ;вместо
    $iPIDTC = Run($COMMANDER_EXE)
    ;стоит
    Exit

    , т.е. MsgBox не появляется, равно как и каких-нибудь сообщений от самого AutoIt. Сам интерпретатор из памяти выгружается.

    Всего записей: 6596 | Зарегистр. 28-01-2008 | Отправлено: 14:39 12-10-2014 | Исправлено: Skif_off, 14:43 12-10-2014
    eineo



    Member
    Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
    Коллеги, день добрый.
     
    Подскажите не кто случайно не встречал shell для windows xp написанный на AutoIt?

    Всего записей: 210 | Зарегистр. 16-07-2007 | Отправлено: 11:07 13-10-2014
       

    Страницы: 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