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