Ich weiß nichts über PotPlayer, es gibt möglicherweise eine bessere Möglichkeit, dies vollständig im Hintergrund zu tun. In AutoHotkey ist dies jedoch leicht genug, wenn Sie sich nicht darum kümmern, dass einige Dialoge auftauchen und wieder verschwinden.
Dieses Skript öffnet das FileInfo-Dialogfeld, kopiert den Dateinamen in die Zwischenablage und kopiert dann diesen Pfad in einen anderen Pfad. Änderungen, die Sie am folgenden Skript vornehmen müssen:
- Entfernen
MsgBox
Sie nach dem Testen den aktuellen Dateinamen - Das Kopierziel ist hartcodiert, um es zu
c:\temp
ändern - Sie können die im Skript unten zugewiesene Tastenkombination ändern, wenn Sie möchten (derzeit
F8
) - Legen Sie die Option zum Überschreiben in der Dateikopieranweisung fest, wenn Sie dies möchten (oder nicht).
Dieses Skript wurde mit dem Meldungsfeld getestet, in dem der aktuelle Dateiname angezeigt wird. Es wird davon ausgegangen, dass die Dateikopie danach einwandfrei funktioniert. Wenn dies nicht der Fall ist, ist dies ein Ausgangspunkt für das Spielen.
Skriptbeispiel:
#Persistent SetTitleMatchMode, 2 Return #IfWinActive, ahk_class PotPlayer F8:: SendInput ^ ; Pull up info dialog WinWaitActive, Playback/System Information,,2 If ErrorLevel { Tooltip, Couldn't find dialog... exiting... Sleep 2000 ToolTip Return ; couldn't find dialog } lastClipboard := ClipboardAll ; Save existing clipboard contents SendInput ^ ; Focus tab control at top Sleep 100 SendInput ; Focus FileInfo tab Sleep 100 SendInput ; Select FileInfo Sleep 100 SendInput !c ; Select copy to clipboard Sleep 100 SendInput ; Execute Sleep 100 SendInput !c ; Select close Sleep 100 SendInput ; execute Sleep 100 FileName := "" Loop, Parse, % FileInfo:=Clipboard, `n { If InStr(A_LoopField, "Complete name") { FileName := Trim(Substr(A_LoopField, InStr(A_LoopField, ":")+1)) ; get path and file after colon and trim spaces Break } } Clipboard := lastClipboard ; restore previous clipboard If (FileName = "") { Tooltip, Couldn't find filename... exiting... Sleep 2000 ToolTip Return } ; Remove this when no longer needed... MsgBox % "Filename Found: " FileName ; Put the target directory of choice here instead of c:\temp ; add a 1 as the third arg to overwrite if needed FileCopy, % FileName, % "C:\temp" Return