copy /b "%~dp0"\*.ts "%~dp0"\new.ts
最近在手机浏览器上下载了钢铁侠等漫威电影,以为不错想保存到手机上,却都又是m3u8格式,又是ts格式,找了不少破解的办法,也下载了工具,都不算理想,本身组合了一套:
1.在ts文件夹下建一个bat文件写: copy /b "%~dp0"\*.ts "%~dp0"\new.ts
2.注意,直接*.ts常常会合并出来的顺利乱了,因此最好按照0.ts+1.ts+2.ts这样的格式一个个写上,由于不少ts文件夹都是几千的ts文件,一个个写到地老天荒……因而我用PHP的for循环生成,代码以下:
$m=339; for ($i=0; $i <=$m ; $i++) { echo "$i"; echo ".ts"; if ($i %25==1) { echo "<br/>"; } if ($i == $m) { # code... }else{ echo "+"; } }
3. ctrl+A复制,替换*.ts,再运行bat文件,在本地目录生成了指定名称的合成ts文件,直接将ts后缀改为MP4,完成。php
如下是别的博客找到的参考资料:浏览器
首先在待合并的文件夹下建立concat.bat(名字随意啦),写入以下命令工具
copy /b "%~dp0"\*.ts "%~dp0"\new.ts
执行该命令后,当前目录下的所有TS文件就被合并成一个new.ts文件了(你原来的那堆文件仍然存在)。spa
命令解释:
这里使用copy命令的文件合并功能进行ts文件的合并,copy后面的 /b 参数表示把文件按二进制格式来合并,若是不加这个参数,则会把目标当成文本文件来合并,并在文件内添加没必要要的标记,这会致使播放出错,因此必须加 /b 参数code
该命令的合并排序是按照你系统下的字母序来的,好比你的文件名是disk1.ts, disk2.ts, disk3.ts,那该命令就会按照disk1.ts+disk2.ts+disk3.ts的顺序来合并这三个文件,事实上,绝大多数网上下载的高清文件,都已经按字母序排列好了,因此你直接执行该命令便可。blog
上面的例子若是换成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 则是 当前盘符和路径 的意思it
更多CMD获取当前目录的命令for循环
@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