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,完成。

 

以下是别的博客找到的参考资料:

首先在待合并的文件夹下创建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

版权声明:本文为easyTrue原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/easyTrue/p/11073424.html%20