一条命令将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系统