Я нічого не знаю про PotPlayer, може бути кращий спосіб зробити це повністю у фоновому режимі. Досить просто це зробити в AutoHotkey, хоча якщо ви не заперечуєте, що кілька діалогових вікон вискакують і зникають знову.
Цей скрипт відкриває діалогове вікно FileInfo, копіює ім'я файлу в буфер обміну, а потім робить копію файлу цього шляху в інший шлях. Зміни, які потрібно внести до сценарію нижче:
- Видаліть, як
MsgBox
тільки ви перевірили, що він працює, щоб схопити поточне ім'я файлу
- Наразі пункт призначення копії важко кодується
c:\temp
→ змінити його на все, що завгодно
- Ви можете змінити клавішу швидкого доступу, призначену в сценарії нижче, якщо ви хочете (наразі
F8
)
- Установіть опцію для перезапису в операторі файлової копії, якщо ви хочете (або ні)
Цей скрипт був перевірений, працюючи до поля повідомлень, яке відображає поточне ім'я файлу, яке воно захоплює, тож припускаючи, що після цього файлова копія спрацює нормально - якщо ні, то це відправна точка для вас.
Приклад сценарію:
#Persistent
SetTitleMatchMode, 2
Return
#IfWinActive, ahk_class PotPlayer
F8::
SendInput ^{F1} ; 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 ^{Tab 2} ; Focus tab control at top
Sleep 100
SendInput {Right} ; Focus FileInfo tab
Sleep 100
SendInput {Space} ; Select FileInfo
Sleep 100
SendInput !c ; Select copy to clipboard
Sleep 100
SendInput {Space} ; Execute
Sleep 100
SendInput !c ; Select close
Sleep 100
SendInput {Space} ; 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