1

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

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

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

1 ответ1

1

Так что на Windows вы хотите, чтобы некоторая автоматизация. , ,

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

Для этого рассмотрите возможность использования бесплатного приложения AutoIT и некоторых функций и методов вызова цикла.

AutoIT Logic

Этот метод требует установки двух переменных: полный путь к файлу в виде $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").


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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .