
Я буду выполнять следующую задачу буквально тысячи раз в течение следующих дней. Это часть серии задач, которые субъективны и не могут быть автоматизированы, но эта может, я нахожу ее самой изнурительной.
Можно ли автоматизировать следующее и как:
- Всякий раз, когда появляется всплывающее окно IDM «Сведения о файле загрузки», замените текст между текстом формата (.mp3) и первым слешем справа на текст из буфера обмена (см. рисунок). Спасибо.
решение1
СкороОкнавам нужна некоторая автоматизация для...
- Определить, когда создается определенное окно
- Сделать определенное обнаруженное окно активным
- Вставьте полный путь к файлу в определенное поле в определенном окне, при этом текущим будет имя файла без расширения этого пути.буфер обменаскопированное значение
Рассмотрите возможность использования бесплатногоАвтоИТприложение и некоторые функции и методы вызова цикла для этого.
Логика AutoIT
Этот метод требует установки двух переменных: полного пути к файлу $SavePath
и расширения файла, $SaveExt
где Сохранить какполеИнформация о файле загрузкиокно сохранит файлы.
Этот метод устанавливаетLocal
переменнаяв пределахопределяемая пользователем функцияпомечены IDM_DFI()
и копируют текущийбуфер обменазначение в качестве значения, поэтому здесь предполагается, что у вас, скорее всего, будет что-то, что копирует уникальное значение в буфер обмена передИнформация о файле загрузкиОкно запущено.
Этот процесс выберет и удалит все изСохранить какполе, замените его на значения переменных $SavePath
, $Clip
, и $SaveExt
, объединенные в указанном порядке, что станет строкой для полного пути к файлу и имени файлазагруженный файл сохранен, а затем нажмитеНачать загрузку.
Этот процесс начинается с CheckWin()
вызова пользовательской функции, и в рамках этогоWinWaitФункция используется для ожидания появления окна, заголовок которого соответствует значению$WinTitle
Global
переменная. Когда он обнаруживает это окно, он выполняет вышеупомянутые процессы, а затем CheckWin()
снова вызывает функцию и ждет $WinTitle
появления другого окна.
Global $WinTitle = "Download File Info"
Global $SavePath = "F:\German lge\Audio database\"
Global $SaveExt = ".mp3"
CheckWin()
Func CheckWin()
WinWait($WinTitle)
IDM_DFI()
EndFunc
Func IDM_DFI()
Local $Clip = ClipGet()
WinActivate($WinTitle)
Sleep(200)
ControlSend($WinTitle, "", "[CLASSNN:Edit3]", "^a{DELETE}"&$SavePath&$Clip&$SaveExt) ; "^a" --> CTRL+a to select all
Sleep(200)
ControlClick($WinTitle, "", "[CLASSNN:Button1]", "left")
Sleep(500)
CheckWin()
EndFunc
Эту логику можно сделать более динамичной, приняв три входных параметра, а затем передать их исполняемому файлу после его компиляции дляЗаголовок окна,Полный путь к папке сохранения, иСохранить как расширение файла которые вы хотите обработать (например IDM_DFI.exe "Download File Info" "F:\German lge\Audio database\" ".mp3"
).