WINDOWS下使用cmd命令和bat批处理遍历子目录合并ts文件

WINDOWS下使用cmd命令和bat批处理遍历子目录合并ts文件

任务概述

我下载了一些视频在本地,本以为下载下来就能看,没想到下载下来发现每个视频都是个单独的文件夹,每个文件夹里都是好多ts文件,如图:每个文件夹对应一个视频每一个文件夹是一个视频每个文件夹对应一个视频
在这里插入图片描述
文件夹内如图:一个视频被分成了若干个.ts后缀的文件
所以任务目标就是把每个文件夹内的若干视频片段合成整个视频

1.0 cmd命令

文件合并嘛,这个好说
Win+R打开"运行",输入cmd回车
在这里插入图片描述
输入命令:

copy /b D:\Desktop\xcache\Moc_1206999229_1215209729_1\*.ts D:\Desktop\xcache\Moc_1206999229_1215209729_1\new.ts

(“D:\Desktop\xcache\Moc_1206999229_1215209729_1\”是ts文件的绝对路径,“*.ts ”用通配符指定目标文件类型)
回车执行命令就可以合并相应文件夹里的所有ts文件,生成一个new.ts
在这里插入图片描述
打开文件夹看到new.ts已经在了
方法可行,依次改变命令中的文件地址部分就可以依次合并了,但是问题来了,一次一次改命令实在是太麻烦了,懒病犯了实在受不了

2.0 cmd文件

为了偷懒就想办法呗,因为改命令麻烦嘛,就想能不能不用改
这个也好说,使用相对路径呗
建一个txt文本文档,输入命令 copy /b *.ts new.ts,重命名为后缀.cmd文件
先复制一下,然后依次粘贴进每个文件夹内,双击运行,黑色窗口一闪就可以了
在这里插入图片描述
再配合键盘快捷键,所以就是

  1. Ctrl+V //粘贴
  2. Enter //执行
  3. Backspace //退回父目录
  4. ↓ //(方向键)下一个文件夹
  5. Enter //进入

这个顺序一直循环按键盘就可以了,还算比较轻松
但是懒癌晚期怎么可能满足!将近一百个文件夹呢,还是太累了,所以……

3.0 bat批处理

哎,像写程序一样让它直接循环来不就可以了
当然可以
还是建一个txt文本文档,输入命令

for /d %%s in (Moc*) do (  //循环条件:对于每个Moc开头的子目录执行操作
    cd %%s  //进入子目录
   copy /b *.ts newone.ts  //合并文件
    cd ..  //退回上级目录
)

然后重命名后缀为.bat,拖进父目录,不要再拖进子目录了喂
在这里插入图片描述
双击运行,等着黑色窗口唰唰唰……结束,大功告成

一点需要注意,合并文件前,需要保证ts文件是按顺序排列的,顺序有问题可以通过改文件名如1.xx,2.xx……这样达到按顺序排列的目的

总结:很多类似的本地文件操作都可以通过cmd+bat灵活配合这种方式实现,特别是这种命令非常简单不需要什么编程基础的情况,用到的时候真的很省时省力


版权声明:本文为weixin_44136860原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。