
Die folgende Aufgabe werde ich in den nächsten Tagen buchstäblich tausende Male ausführen. Sie ist Teil einer Reihe von Aufgaben, die subjektiv sind und nicht automatisiert werden können, aber diese hier kann es, ich finde sie am anstrengendsten.
Kann ich Folgendes automatisieren und wie:
- Wenn das Popup-Fenster „Download-Dateiinfo“ von IDM erscheint, ersetzen Sie den Text zwischen dem Formattext (.mp3) und dem ersten Schrägstrich von rechts durch Text aus der Zwischenablage (siehe Bild). Vielen Dank.
Antwort1
BaldWindowsSie möchten eine gewisse Automatisierung, um...
- Erkennen, wann ein bestimmtes Fenster geöffnet wird
- Ein bestimmtes erkanntes Fenster aktivieren
- Fügt einen vollständigen Dateipfad in ein bestimmtes Feld innerhalb eines bestimmten Fensters ein, wobei der Dateiname abzüglich der Erweiterung dieses Pfades der aktuelleZwischenablagekopierter Wert
Nutzen Sie die kostenloseAutoITAnwendung und einige Funktionen und Schleifenaufrufmethoden hierfür.
AutoIT-Logik
Bei dieser Methode müssen zwei Variablen festgelegt werden: der vollständige Dateipfad $SavePath
und die Dateierweiterung, $SaveExt
wobei Speichern alsFeld derDateiinformationen herunterladenFenster speichert Dateien.
Diese Methode setzt einenLocal
Variableinnerhalb derbenutzerdefinierte Funktionbeschriftet IDM_DFI()
und kopiert die aktuelleZwischenablagevalue als Wert, daher wird hier angenommen, dass Sie wahrscheinlich etwas haben, das einen eindeutigen Wert in die Zwischenablage kopiert, bevor derDateiinformationen herunterladenFenster wird geöffnet.
Dieser Vorgang wählt und löscht alles aus demSpeichern alsErsetzen Sie dieses Feld durch die in dieser Reihenfolge aneinandergereihten Variablenwerte $SavePath
, $Clip
, und $SaveExt
, um den String für den vollständigen Dateipfad und Dateinamen desheruntergeladene Datei gespeichertund drücken Sie dannStarte Download.
Dieser Prozess beginnt mit einem CheckWin()
benutzerdefinierten Funktionsaufruf und innerhalb dessenWinWaitFunktion wird verwendet, um auf das Erscheinen eines Fensters zu warten, dessen Titel dem Wert der$WinTitle
Global
Variable. Wenn es dieses Fenster erkennt, führt es die oben genannten Prozesse aus, ruft dann die CheckWin()
Funktion erneut auf und wartet, bis ein weiteres $WinTitle
Fenster erscheint.
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 ist möglich, diese Logik dynamischer zu gestalten, indem drei Eingabeparameter akzeptiert werden. Diese können dann an die ausführbare Datei übergeben werden, sobald sie für dieFenstertitel,Vollständiger „Speichern unter“-Ordnerpfad, und dasSpeichern unter Dateierweiterung die Sie verarbeiten möchten (zB IDM_DFI.exe "Download File Info" "F:\German lge\Audio database\" ".mp3"
).