如何将一个项目添加到右键单击上下文菜单中,以便当您右键单击文件夹时,您可以选择运行批处理文件,将文件夹的路径作为参数传递给程序。
我有听力问题,所以我总是下载带有字幕的电影。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 的耐心以及您奉献的时间和知识!!