Я ничего не знаю о PotPlayer, возможно, есть лучший способ сделать это полностью в фоновом режиме. Это достаточно просто сделать в AutoHotkey, хотя, если вы не возражаете, несколько диалогов появятся и снова исчезнут.
Этот скрипт открывает диалоговое окно FileInfo, копирует имя файла в буфер обмена и затем копирует этот путь в другой путь. Изменения, которые вам нужно будет внести в скрипт ниже:
- Удалите
MsgBox
после того, как вы проверили, что он работает для захвата текущего имени файла.
- Назначение копирования жестко закодировано в
c:\temp
настоящее время → измените его на любое, что вам нравится
- Вы можете изменить комбинацию клавиш, назначенную в скрипте ниже, если хотите (в настоящее время
F8
)
- Установите опцию перезаписи в выражении filecopy, если вы этого хотите (или нет)
Этот сценарий был протестирован до появления окна сообщения, которое отображает текущее имя файла, которое он захватывает, поэтому при условии, что после этого файловая копия будет работать нормально - если нет, то это отправная точка для игры.
Пример скрипта:
#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