1

我的电视可以播放mkv闪存驱动器上的文件,但无法检测到字幕文件。我正在尝试制作一个bat文件,该文件基本上将.srt文件从文件中取出,mkv然后使用 ffmpeg 将其硬编码到 mkv 文件中。我正在接近,但命名无法正常工作。例如,当它创建它命名的字幕文件时infile.mkv.srt。当文件被编码时,它被命名为infile.mkvEncoded.mkv. 我正在尝试摆脱多余的 .mkv

我不擅长 bat 文件中的变量,所以我不确定该怎么做。我在文件名中添加了“编码”部分,这样它就不会覆盖原始的 infile。除非有更好的方法,否则我计划只使用批量重命名实用程序来删除该部分。

我的代码是:

    DO (
    MKDIR Encoded_Files
    )
    FOR /F "tokens=*" %%G IN ('dir /b *.mkv') DO (
        ffmpeg -i "%%G" -vn -an -codec:s:0.1 srt "%%G.srt"
        ffmpeg -i "%%G" -vf "subtitles=%%G.srt" "%%GConverted"
        move *"%%~nG" "Encoded_Files"
            )

预期的结果是infileEncoded.mkv*

4

0 回答 0