一条命令将windows下多个ts文件合并为一个ts文件

首先在待合并的文件夹下创建concat.bat(名字随意啦),写入如下命令

copy /b "%~dp0"\*.ts  "%~dp0"\new.ts

执行该命令后,当前目录下的全部TS文件就被合并成一个new.ts文件了(你原来的那堆文件仍然存在)。

命令解释:
这里使用copy命令的文件合并功能进行ts文件的合并,copy后面的 /b  参数表示把文件按二进制格式来合并,如果不加这个参数,则会把目标当成文本文件来合并,并在文件内添加不必要的标记,这会导致播放出错,所以必须加 /b 参数

该命令的合并排序是按照你系统下的字母序来的,比如你的文件名是disk1.ts, disk2.ts, disk3.ts,那该命令就会按照disk1.ts+disk2.ts+disk3.ts的顺序来合并这三个文件,事实上,绝大多数网上下载的高清文件,都已经按字母序排列好了,所以你直接执行该命令即可。


上面的例子如果换成diskA.ts, diskB.ts, diskC.ts,该命令仍能正常进行,它会按diskA.ts+diskB.ts+diskC.ts(请统一排序关键字的大小写,即全部用大写A、B、C 或全部用小写a、b、c)。


最好只有一个排序关键字(数字或字母),也就是说各文件名相互间只有一个字符不同
如果你想万无一失,可以手工把文件名改为1.ts, 2.ts, 3.ts, …..再执行合并。

 

至于 %~dp0 则是 当前盘符和路径 的意思

更多CMD获取当前目录的命令

@echo off
echo 当前盘符:%~d0
echo 当前盘符和路径:%~dp0
echo 当前批处理全路径:%~f0
echo 当前盘符和路径的短文件名格式:%~sdp0
echo 当前CMD默认目录:%cd%
echo 目录中有空格也可以加入""避免找不到路径
echo 当前盘符:"%~d0"
echo 当前盘符和路径:"%~dp0"
echo 当前批处理全路径:"%~f0"
echo 当前盘符和路径的短文件名格式:"%~sdp0"
echo 当前CMD默认目录:"%cd%"
pause

 

这个方案经过我测试是有点问题的,比如ts视频超过100个超出的部分就无法成功合并。我的测试机是win10系统

posted on 2018-06-09 20:15  wpjamer  阅读(20898)  评论(0编辑  收藏  举报

导航