我想制作一个批处理文件(Windows 10),以使用 mkvmerge 组合 2 个视频文件中的不同轨道!
我想使用循环自动执行此操作,以便处理两个不同目录中的所有文件。两个目录中的文件数量相同,并且排序正确。
例如:
files für videos1
在目录 1
files for videos2
在目录 2
中。
目录 finished Files
中的 joined
。1
和 2
中的文件名匹配,则循环是没有问题的:
for %%f in (1/*.mkv) do (
mkvmerge --output "joined/%%f" --no-audio --no-subtitles "1/%%f" --no-video --no-chapters --no-global-tags --no-attachments "2/%%f"
)
不幸的是文件名不一样,现在我有一个问题,当文件名不同时如何更改这里的脚本?
自动处理应该是这样的:
1\1safrsrffm
& 2\file1fgdfgtr
-> finished\1safrsrffm
1\2dfsdffdd
& 2\file2fdewrrh
-> finished/2dfsdffdd
1\3dffdsfffm
& 2\file3fgfdggf
-> finished\3dffdsfffm
1\4dfggggg
& 2\file4dgfgdgf
-> finished\4dfggggg
就这么简单,正如我在你的问题中概述的那样:
@ECHO OFF
SETLOCAL
SET "dir1=u:\your files"
SET "dir2=u:\your results"
FOR /f "tokens=1*delims=:" %%u IN (' dir /s /b "%dir1%\*.mkv" ^|findstr /n "." ') DO (
FOR /f "tokens=1*delims=:" %%U IN (' dir /s /b "%dir2%\*.mkv" ^|findstr /n "." ') DO (
IF "%%u"=="%%U" ECHO merge "%%v" with "%%V" giving "%%~nv"
)
)
GOTO :EOF