我正在寻找一些命令/脚本来扫描我指定的文件夹,将srt文件(与视频同名)与avi / mp4 / mkv文件合并以获取mkv文件,然后删除原始文件(视频和副标题)。
现在我有这个代码(不是我的,我合并的一些作者):
@echo off
for /R %%A IN (*.mkv *.avi *.mp4) do (
"C:\Program Files\MKVToolNix\mkvmerge.exe" -o "%%~nxA_CZ.mkv" "%%~A" "%%~nA.srt"
if errorlevel 1 (
echo Warnings/errors generated during remuxing, original file not deleted
) else (
del /f "%%A" "%%~nA.srt"
echo Successfully remuxed to "%%~dpna (No Subs)%%~xa", original file deleted
)
echo.
)
)
)
哪种作品,但我有一些问题。
该/R
参数不起作用,不知道为什么,但是当我将它放在一个包含子文件夹的文件夹中时,它只扫描其中的srt文件,并且出现“无法打开”错误。(对于单个文件夹中的文件也会出现此错误,但最终它会执行我需要的操作。)
知道如何解决我的问题吗?
FOR /F "TOKENS=*" %%A IN
循环使用('DIR /A-D /B /S "C:\Root"')
和再利用的,输出与一些逻辑来挑选出的.mp4
,.avi
以及.mkv
与文件DO
的命令。使用类似的东西IF [%%~XA]==[.mkv]
然后告诉它mkvmerge.exe
从那里做相应的 操作。通过一些测试,你可以完成这个,所以如果你想要一个答案解释,那就开始工作并打电话给我,但是你可以用这个快速的想法抓住它。