从 .mkv 文件批量删除标题

从 .mkv 文件批量删除标题

尝试从一组 MKV 文件中删除“title”属性。Windows 资源管理器被 COM Surrogate 阻止,从而保留了此 (如何从视频文件中删除标题和其他元数据?) 无法正常工作。是否有一个命令可以运行,该命令将遍历所有文件并使用 mkvmerge 或 mkvpropedit 删除“标题”?

答案1

这是一个单个批处理文件选项。在 .txt 文件中,保存以下代码,然后将文件扩展名重命名为 .bat 或 .cmd,以创建 Windows 批处理文件。

对于 %%A IN (*.mkv) 执行(“C:\Program Files\MKVToolNix\mkvpropedit.exe”-d title“%%~A”)暂停

运行时,它仅过滤当前文件夹或目录中的 .mkv 文件,然后继续删除文件夹或目录中找到的所有 mkv 文件的标题。使用此方法,mkv 文件不会被重新编码,也不会被复制。

我希望这对其他人有帮助,如果没有帮助,也许对我自己有帮助,当我将来再次需要它时。;-)

答案2

正在寻找一种方法来解决这个问题,因为当从 Windows 流式传输到我的电视时,电视会无序播放文件,因为它使用标题按字母顺序对文件进行排序。

使用上述一些答案,这个脚本在 PowerShell 中为我工作(显然根据您的环境替换路径:

foreach ($f in Get-ChildItem "C:\Users\User\Videos\") { D:\Programs\mkvtoolnix\mkvpropedit.exe "C:\Users\User\Videos\" -d title }

答案3

经过几个小时无法破译“for”语句后,我发现了这一点 for %%i IN (*.txt) DO (mybatch.bat "%%i")

我将其修改为for %%i IN (*.mkv) DO (fix.bat "%%i")并将文件命名为“fix2.bat”

虽然文件“fix.bat”包含"C:/Program Files/MKVToolNix\mkvpropedit.exe" %* -d title

我不明白它是如何工作的,但它将获取当前目录中的所有 mkv 文件并删除“title”属性。

答案4

创建 .bat 文件,然后将 mkv 文件拖放到 .bat 文件中。这将删除标签、标题、视频轨道名称和音轨名称。根据需要进行修改。

set "mkvproedit=C:\mkvtoolnix\mkvpropedit.exe"

for %%a in (*.mkv) do "%mkvproedit%" "%%a" --edit info --set title= --tags all: --edit track:v1 --set language=jpn --set name="" --edit track:a1 --set language=eng --set name=""

pause

相关内容