Как автоматизировать переименование во всплывающем окне из буфера обмена?

Как автоматизировать переименование во всплывающем окне из буфера обмена?

Я буду выполнять следующую задачу буквально тысячи раз в течение следующих дней. Это часть серии задач, которые субъективны и не могут быть автоматизированы, но эта может, я нахожу ее самой изнурительной.

Можно ли автоматизировать следующее и как:

  • Всякий раз, когда появляется всплывающее окно IDM «Сведения о файле загрузки», замените текст между текстом формата (.mp3) и первым слешем справа на текст из буфера обмена (см. рисунок). Спасибо.

введите описание изображения здесь

решение1

СкороОкнавам нужна некоторая автоматизация для...

  1. Определить, когда создается определенное окно
  2. Сделать определенное обнаруженное окно активным
  3. Вставьте полный путь к файлу в определенное поле в определенном окне, при этом текущим будет имя файла без расширения этого пути.буфер обменаскопированное значение

Рассмотрите возможность использования бесплатногоАвтоИТприложение и некоторые функции и методы вызова цикла для этого.

Логика 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").


Дополнительные ресурсы

Связанный контент