找回密码
 立即注册

QQ登录

只需一步,快速开始

教程经验总索引TVMW5/小日本5 索引【视频转换】小日本4/TE4XP 索引【视频转换】TAW4 / TDA3 索引【DVD打包软件】
Nero 索引DVD-Lab 索引【DVD打包软件】编解码器 索引 【必读】固顶帖011号
楼主: c_mang1

[已解决] 感谢管理员!MKVToolnix如何最快速一次性批量生成多个MKV?

[复制链接]

2

威望

1120

金钱

8

贡献

初级会员

积分
1212
主题
19
回帖
135
注册时间
2013-5-18
最后登录
2022-5-12
 楼主| 发表于 2016-1-16 09:45:39 | 显示全部楼层
IsaacZ 发表于 2016-1-16 00:56
通过实测,找到问题了:

修改后应该可以了,我在自己机器上测试成功。

真是出了怪事!
一切按照管理员的方法行事,偏偏弹出
C:\Users\zhu>pushd H:\800
系统找不到指定的路径。
C:\Users\zhu>for /F "tokens=*" %i in ('dir/b *.avi') do call :merge "%~ni.mkv" "
%i"
找不到文件
找不到?.JPG
思考:
输入文件是在由虚拟光驱加载的I:盘符里。
还需要补充说明吗?那怎么写呢?
回复

使用道具 举报

9333

威望

718

金钱

1万

贡献

管理员

自由的灵魂

积分
100355
主题
5282
回帖
26254
注册时间
2003-4-10
最后登录
2024-11-7
发表于 2016-1-16 18:38:14 | 显示全部楼层
怪我忽略了你在3楼提供的视频来源路径!

你的来源文件夹 I:\ 是个虚拟光盘路径,由于这个路径不可写,所以输出文件夹必须定义到一个可写的本地硬盘目录,按你的要求,就是输出到 H:\800

现在试试这个代码:

=================================================

: @echo off
:上面第一行非必要,如果你想监测封装过程的代码运行情况,可以去掉

pushd I:\
:定义工作文件夹,也就是来源文件夹。


for /f "tokens=*" %%i in ('dir/b *.avi') do call :merge "%%~ni.mkv" "%%i"
:注:"%%~ni.mkv"是输出文件名,"%%i"是输入文件名。

PAUSE
:加一行PAUSE,执行完后,命令窗口暂停而不退出,以便检测输出结果是否正常。

goto :eof
:循环完毕,结束批处理。

:merge  

"C:\Program Files\MKVToolNix\mkvmerge.exe" -o "H:\\800\\%1"  "--forced-track" "0:no" "--forced-track" "1:no" "-a" "1" "-d" "0" "-S" "-T" "--no-global-tags" "--no-chapters" "(" "%2" ")" "--track-order" "0:0,0:1"
:在%1前面添加了可写入文件的输出路径 H:\\800\\

==================================================
IsaacZ的发言中如果提到任何字母缩写或专有名词,在本论坛中一般都能搜索到。点此立即搜索点拨论坛。如有搜索不到的,请尝试搜索百度百科,或者跟帖提问。
发帖前请注意看置顶帖。如果你发现自己的问题没有得到回答,说明你的问题提错了地方或者提问前未先阅读版规。
回复

使用道具 举报

2

威望

1120

金钱

8

贡献

初级会员

积分
1212
主题
19
回帖
135
注册时间
2013-5-18
最后登录
2022-5-12
 楼主| 发表于 2016-1-17 12:43:19 | 显示全部楼层
IsaacZ 发表于 2016-1-16 18:38
怪我忽略了你在3楼提供的视频来源路径!

你的来源文件夹 I:\ 是个虚拟光盘路径,由于这个路径不可写,所 ...

至诚感谢管理员的热心帮助和精心详解,既完成了任务,又学习到了批处理的知识,真是感激不尽。
谢谢!
回复

使用道具 举报

2

威望

1120

金钱

8

贡献

初级会员

积分
1212
主题
19
回帖
135
注册时间
2013-5-18
最后登录
2022-5-12
 楼主| 发表于 2016-1-18 20:58:13 | 显示全部楼层
IsaacZ 发表于 2016-1-16 18:38
怪我忽略了你在3楼提供的视频来源路径!

你的来源文件夹 I:\ 是个虚拟光盘路径,由于这个路径不可写,所 ...

补充一个问题,还望管理员再赐教:
之前曾参考过这个帖子http://zhidao.baidu.com/question/1689815496923127828.html
于是写下:
@echo off&setlocal enabledelayedexpansion
for /l %%i in (1,1,800) do (set /a n=1000+%%i
"D:\影音及光盘\mkv专题\MKVToolnix-系列\MKVToolnix 5.8.0 绿色多语版\mkvtoolnix\mkvtoolnix\mkvmerge.exe" -o "H:\\800首\\[!n:~1!].mkv"--forced-track" "0:no" "--default-track" "1:yes" "--forced-track" "-a" "0" "-d" "1" "-S" "-T" "--no-global-tags" "--no-chapters" "(" "I:\\[!n:~1!].AVI" "^)" "--track-order" "0:0,0:1"
)
pause
反复折腾修改了近半个月,始终没有成功。
复查,其报错——Error: No input files were given. No output will be created.
有了在您指导下的成功经验,回看“没有文件给予输入”和“没有输出被创建”的提示,推测原因可能就在“定义工作文件夹,也就是来源文件夹”没有指令。
由此带来新思考:
在本楼这种语句下,能不能直接添加“pushd I:\”让批处理找到虚拟光驱盘符呢?如果能,又如何写呢?
-------------------------------------
或许是这个折腾时间太长,难以磨灭,所以想弄个明白。我想不至于您笑话吧?
恳请了!

回复

使用道具 举报

9333

威望

718

金钱

1万

贡献

管理员

自由的灵魂

积分
100355
主题
5282
回帖
26254
注册时间
2003-4-10
最后登录
2024-11-7
发表于 2016-1-19 09:17:20 | 显示全部楼层
请上传你的bat文件,避免因为论坛编辑器的原因造成代码缺失或改变。
IsaacZ的发言中如果提到任何字母缩写或专有名词,在本论坛中一般都能搜索到。点此立即搜索点拨论坛。如有搜索不到的,请尝试搜索百度百科,或者跟帖提问。
发帖前请注意看置顶帖。如果你发现自己的问题没有得到回答,说明你的问题提错了地方或者提问前未先阅读版规。
回复

使用道具 举报

2

威望

1120

金钱

8

贡献

初级会员

积分
1212
主题
19
回帖
135
注册时间
2013-5-18
最后登录
2022-5-12
 楼主| 发表于 2016-1-19 10:10:04 | 显示全部楼层
IsaacZ 发表于 2016-1-19 09:17
请上传你的bat文件,避免因为论坛编辑器的原因造成代码缺失或改变。

多谢管理员!
附件:
123.rar (397 Bytes, 下载次数: 6)
回复

使用道具 举报

9333

威望

718

金钱

1万

贡献

管理员

自由的灵魂

积分
100355
主题
5282
回帖
26254
注册时间
2003-4-10
最后登录
2024-11-7
发表于 2016-1-19 15:34:30 | 显示全部楼层
通过前面解决的例子,还没有看懂这些命令的结构?直接加到第一行下面作为第2行就行啊,自己试试是否有效。
IsaacZ的发言中如果提到任何字母缩写或专有名词,在本论坛中一般都能搜索到。点此立即搜索点拨论坛。如有搜索不到的,请尝试搜索百度百科,或者跟帖提问。
发帖前请注意看置顶帖。如果你发现自己的问题没有得到回答,说明你的问题提错了地方或者提问前未先阅读版规。
回复

使用道具 举报

2

威望

1120

金钱

8

贡献

初级会员

积分
1212
主题
19
回帖
135
注册时间
2013-5-18
最后登录
2022-5-12
 楼主| 发表于 2016-1-20 00:06:48 | 显示全部楼层
IsaacZ 发表于 2016-1-19 15:34
通过前面解决的例子,还没有看懂这些命令的结构?直接加到第一行下面作为第2行就行啊,自己试试是否有效。

恕某愚笨。
也想到直接加入第二行,而且采用了安装版,结果仍是Error: No input files were given. No output will be created.
[url=]修改方案如下[/url]
@echo off&setlocal enabledelayedexpansion
pushd I:\
for /l %%i in (1,1,800) do (set /a n=1000+%%i

"C:\Program Files\MKVToolNix\mkvmerge.exe" -o "H:\\800首[url=file://\\[!n:~1!].mkv]\\[!n:~1!].mkv"--forced[/url]-
track" "0:no" "-a" "0" "-d" "1" "-S" "-T" "--no-global-tags" "--no-chapters" "("
"I:\\[!n:~1!].AVI" "^)" "--track-order" "0:0,0:1"
)
pause
因为这种语句表述与您的正确指导有区别,自己实在不懂。……
回复

使用道具 举报

9333

威望

718

金钱

1万

贡献

管理员

自由的灵魂

积分
100355
主题
5282
回帖
26254
注册时间
2003-4-10
最后登录
2024-11-7
发表于 2016-1-20 15:51:27 | 显示全部楼层
我再测试一下吧。回头给你消息
IsaacZ的发言中如果提到任何字母缩写或专有名词,在本论坛中一般都能搜索到。点此立即搜索点拨论坛。如有搜索不到的,请尝试搜索百度百科,或者跟帖提问。
发帖前请注意看置顶帖。如果你发现自己的问题没有得到回答,说明你的问题提错了地方或者提问前未先阅读版规。
回复

使用道具 举报

2

威望

1120

金钱

8

贡献

初级会员

积分
1212
主题
19
回帖
135
注册时间
2013-5-18
最后登录
2022-5-12
 楼主| 发表于 2016-1-26 11:05:11 | 显示全部楼层
IsaacZ 发表于 2016-1-20 15:51
我再测试一下吧。回头给你消息

知道您很忙,期待您空暇时指点这个问题。
谢谢!
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|点拨论坛 |网站地图

GMT+8, 2024-11-8 00:08 , Processed in 0.245022 second(s), 4 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表