为向目标传递多个参数的文件添加上下文菜单

为向目标传递多个参数的文件添加上下文菜单

我想使用 AI 字幕同步程序(阿拉斯)。这在 Linux/bash 中非常简单,但我尝试使用 Windows 和上下文菜单来实现这一点。因此,我的要求如下:

  • 当选择两个文件并且其中一个文件是 .srt 时,显示上下文菜单
  • 由于我将不按特定顺序选择两个文件,因此第一个(%1)始终需要是视频文件(mkv/mp4/avi/etc)
  • 第二个(%2)始终需要是 .srt
  • 第三个可以在 %1 和 %2 所在的同一文件夹中创建静态 out.srt

本质上,用户的操作是:

  • 按住 CTRL 键选择视频和字幕
  • 右键点击
  • 选择“同步子”
  • “C:\program files\alass.bat %1 %2 out.srt”被称为
  • Alass 运行并保存在 %1 和 %2 所在的路径上

目前正在使用这个:

Computer\HKEY_CLASSES_ROOT\SystemFileAssociations\.srt\shell\Alass

command=C:\WINDOWS\system32\cmd.exe /D /C "Start "" /D "%V" "C:\Program Files\Alass\alass.bat" \"%1\" \"%2\" alassout.srt"

但我收到“该应用程序没有关联的应用程序....错误消息”,而且只有选择了 .srt 时才会出现上下文菜单

我需要帮助的是:

  • 如何使 .srt 扩展名始终作为 %2 传递(也许需要修改 .bat 才能识别 .srt 以及传递它们的任何顺序的视频?)
  • 如果两个文件之一是 .srt,如何显示上下文菜单
  • 我需要向 Context 命令传递什么才能使其保存在 %1 和 %2 所在的同一文件夹中?

谢谢你!

相关内容