首先在待合並的文件夾下創建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系統