在 PotPlayer 中,是否有办法将当前播放的文件移动或复制到另一个目录(除了垃圾箱)?或者有没有使用 AutoHotKey 或类似程序的方法?

在 PotPlayer 中,是否有办法将当前播放的文件移动或复制到另一个目录(除了垃圾箱)?或者有没有使用 AutoHotKey 或类似程序的方法?

在审查视频编辑和库管理的多个视频文件时,PotPlayer 会勾选许多快速审查的框,但找不到这个。

我想在这里找到我可能错过的任何内容或使用自动热键或任何其他可能的解决方案的建议。

将所有内容保存在 PotPlayer 中可以节省我大量时间。

答案1

我对 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

答案2

PotPlayer 提供了重命名播放列表中的文件的功能。

打开播放列表(默认热键:F6),右键单击目标文件,选择“添加和编辑”->“重命名文件... CTRL+M”,或选择列表中的文件并按 CTRL+M。将弹出一个窗口来重命名文件,可以在同一个窗口中设置新的文件夹位置。

或者,按 F6 打开播放列表(UI 将自动在该面板中获得焦点),如果播放列表已经打开,按两次 F6 重新打开它并自动获得焦点,然后只需按 CTRL+M。

上面的方法编程起来并不容易,主要是因为很难判断播放列表面板是否已经打开,因此需要按两次F6。但由于按键次数少,这种方法手工完成是没问题的。


另一种方法是使用第三方程序/脚本执行重命名/移动作业,并将从 potplayer 中 CTRL+F1 调用的弹出窗口解析出的文件路径提供给它。我确实有一个自用的 python,它可以自动找到正在播放的 potplayer 窗口,并将其带到前台,向窗口发送热键,获取文件信息,解析文件路径,弹出一个漂亮的 GUI 对话框供用户重命名/移动文件。

相关类和函数的代码被分成几个python文件我的 github 仓库,您就可以在线查看。

相关内容