¿Cómo automatizar el cambio de nombre dentro de una ventana emergente desde el portapapeles?

¿Cómo automatizar el cambio de nombre dentro de una ventana emergente desde el portapapeles?

Haré la siguiente tarea literalmente miles de veces en los próximos días. Es parte de una serie de tareas que son subjetivas y no se pueden automatizar, pero ésta sí, me parece la más agotadora.

¿Puedo automatizar lo siguiente y cómo?

  • Siempre que aparezca la ventana emergente 'Descargar información del archivo' de IDM, cambie el texto entre el formato de texto (.mp3) y la primera barra desde la derecha con el texto del portapapeles (ver imagen). Gracias.

ingrese la descripción de la imagen aquí

Respuesta1

Prontoventanasquieres algo de automatización. . .

  1. Detectar cuando se genera una ventana específica
  2. Activar una ventana detectada específica
  3. Inserte una ruta de archivo completa en un campo particular dentro de una ventana específica con el nombre del archivo menos la extensión de esa ruta siendo la actualportapapelesvalor copiado

Considere usar el programa gratuitoAutoITaplicación y algunas funciones y métodos de llamada de bucle para esto.

Lógica AutoIT

Este método requiere configurar dos variables: la ruta completa del archivo como $SavePathy la extensión del archivo como $SaveExtdonde se encuentra el archivo. Guardar comocampo de laDescargar información del archivoLa ventana guardará los archivos.

Este método establece unLocalvariabledentro defunción definida por el usuarioetiquetado IDM_DFI()y copia el actualportapapelesvalue como su valor, por lo que aquí se supone que probablemente tendrá algo que copie un valor único en el portapapeles antes delDescargar información del archivoSe abre la ventana.

Este proceso seleccionará y eliminará todo delGuardar comocampo, reemplácelo con los valores de las variables $SavePath, $Clipy $SaveExtconcatenados en ese orden, convirtiéndose en la cadena para la ruta completa del archivo y el nombre del archivoarchivo descargado guardadoy luego presioneComienza a descargar.

Este proceso comienza con una CheckWin() llamada a función definida por el usuario y dentro de ella elganaresperarLa función se utiliza para esperar a que se genere una ventana que tiene un título que coincide con el valor del$WinTitle Globalvariable. Cuando detecte esta ventana, realizará los procesos antes mencionados y luego llamará a la CheckWin()función nuevamente y esperará a que $WinTitleaparezca otra ventana.

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

Es posible hacer que esta lógica sea más dinámica para aceptar tres parámetros de entrada y luego podría pasarlos al ejecutable una vez que esté compilado para elTítulo de la ventana,Ruta completa para guardar como carpeta, y elGuardar como extensión de archivo que desea que procese (por ejemplo IDM_DFI.exe "Download File Info" "F:\German lge\Audio database\" ".mp3").


Recursos adicionales

información relacionada