我是mkvmerge
个批处理文件的新手。
最近,我尝试编写一个批处理文件,将所有*.flv
转换为*.mkv
为root,然后转换为其下的所有子文件夹。我用谷歌搜索并设法提出这个批处理文件,我复制并更改了一些代码。仅当您将mkvmerge.exe
放在需要更改的所有子文件夹中时,它才有效。
批处理文件的内容:
setlocal enableDelayedExpansion
set mkvmerge="D:\mkvmerge.exe"
for /d /r %%D in (*) do (
pushd %%D
set files=
for %%A IN (*.flv) do ( mkvmerge.exe -o "remux-%%~nA.mkv" "%%~A")
if not "!files!"=="" %mkvmerge% -o "output.mkv" !files:~2!
popd
)
pause
问题1: 如何指向mkvmerge.exe的路径,以便它能正常工作?
问题2:
如何删除" remux"从转换后的mkv文件?
我觉得这就行了
( mkvmerge.exe -o "remux-%%~nA.mkv" "%%~A")
,但不知道该怎么做。
更新:无视问题2,我设法将其替换为( mkvmerge.exe -o "%%~nA.mkv" "%%~A")
请帮我解答问题1.
答案 0 :(得分:0)
抱歉打扰了,我解决了 只需将mkvmerge.exe复制到C:\(根文件夹)并在批处理文件中指向它
完成工作批处理文件
@echo off
for / d / r %% D in(*)do( pushd %% D
set files =
for %% A IN(* .flv)do(c:\ mkvmerge.exe -o" %% ~nA.mkv"" %% ~A")
如果不是"!文件!" =="" %mkvmerge%-o" output.mkv" !文件:〜2! POPD )
暂停