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