添加到右键单击上下文菜单,以便右键单击文件夹可以选择运行批处理文件,将文件夹的路径作为参数传递给程序

添加到右键单击上下文菜单,以便右键单击文件夹可以选择运行批处理文件,将文件夹的路径作为参数传递给程序

如何将一个项目添加到右键单击上下文菜单中,以便当您右键单击文件夹时,您可以选择运行批处理文件,将文件夹的路径作为参数传递给程序。

我有听力问题,所以我总是下载带有字幕的电影。srt 文件必须更改为与电影名称相同的名称,例如电影文件夹中将有 2 个文件:

蜘蛛侠.2022. 1080p.BluRay.H264.AAC-RARBG.mp4 English.srt English.srt 必须变成 -> 蜘蛛侠.2022. 1080p.BluRay.H264.AAC-RARBG.srt

我有一个批处理文件,当从同一文件夹运行时,它会将 srt 更改为与同一文件夹中的任何视频相同的名称

这是srt.bat脚本:

for  %%i  in (*.mp4 *.avi *.mpg *.flv *.mkv)  do  rename  *.srt  "%%~ni.srt"

我希望不必手动将 srt.bat 文件复制到文件夹中并执行然后删除它。相反,我希望能够右键单击文件夹或文件夹中的空白处,并有一个快捷方式来自动执行我经常执行的此过程。我将批处理文件放在此处进行存储和执行:

C:\Console\srt.bat 我进行了一些挖掘,发现了这一点:

[HKEY_CLASSES_ROOT\Directory\Background\shell\Rename subtitles file]
@="Rename subtitles file in folder"
"NoWorkingDirectory"=""

[HKEY_CLASSES_ROOT\Directory\Background\shell\Rename subtitles file\command]
@="C:\\Console\\srt.bat -d \"\"%V\"\""

它在执行 srt.bat 的文件夹中添加了一个右键快捷方式,称为“重命名字幕文件”。

当我在所需文件夹中的空白处单击鼠标右键并选择 console2 快捷方式时,我看到黑色窗口非常短暂地打开并执行,但视频文件的名称保持不变。我认为它运行了 srt.bat,但效果不是针对打开的文件夹。

我该如何纠正这个问题?

如果您能就如何实现我所期望的效果提出任何其他想法,我将不胜感激。

请注意:我不是程序员,所以请尽可能地直白,即在这种情况下准确地编写代码。我不知道这个页面上的代码是什么意思,我只是花了几个小时阅读然后复制粘贴。

这是可行的解决方案,感谢 Mofi @stackoverflow.com:

工作 reg 文件如下所示:

Windows Registry Editor Version 5.00

[HKEY_CLASSES_ROOT\Directory\Background\shell\Rename subtitles file]
@="Rename subtitles file in folder"

[HKEY_CLASSES_ROOT\Directory\Background\shell\Rename subtitles file\command]
@="cmd.exe /D /C C:\\Console\\srt.bat \"%V\""

对于像这样工作的 srt.bat 文件:

for %%i in ("%~1\*.mp4" "%~1\*.avi" "%~1\*.mpg" "%~1\*.flv" "%~1\*.mkv") do rename "%~1\*.srt" "%%~ni.srt"

非常感谢 Mofi 的耐心以及您奉献的时间和知识!!

相关内容