
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.
Respuesta1
Prontoventanasquieres algo de automatización. . .
- Detectar cuando se genera una ventana específica
- Activar una ventana detectada específica
- 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 $SavePath
y la extensión del archivo como $SaveExt
donde se encuentra el archivo. Guardar comocampo de laDescargar información del archivoLa ventana guardará los archivos.
Este método establece unLocal
variabledentro 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
, $Clip
y $SaveExt
concatenados 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
Global
variable. Cuando detecte esta ventana, realizará los procesos antes mencionados y luego llamará a la CheckWin()
función nuevamente y esperará a que $WinTitle
aparezca 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"
).