求可以按序号合并同一文件夹下视频的批处理同一文件夹下,视频文件名为1.ts 2.ts 3.ts以此类推
做一个批处理,可以将他们按序号顺序合并为一个视频
求可以按序号合并同一文件夹下视频的批处理
答案:2 悬赏:50 手机版
解决时间 2021-01-31 15:46
- 提问者网友:捧腹剧
- 2021-01-30 14:51
最佳答案
- 五星知识达人网友:千杯敬自由
- 2021-01-30 16:00
你这个问题正好我之前研究过。
TS视频文件合并的批处理命令是:
COPY /B 001.ts+002.ts... 合成后的文件名.ts...代表后续的文件名,合成后的文件名.ts前面有个空格。
这样就能合成所有分段的ts视频文件了。
你下载下来的ts文件如果不是有规则的序号排列,那首先得先重命名处理,将其格式改成00001,00002类似的格式,这样便于用批处理文件去合成处理。推荐你一个更名软件:拖把更名器,好用。
另外如果你需要快速生成这个按序号排列的批处理文件(毕竟手输入很费事,尤其是大量分段视频文件的情况)你可以安装一个Python语言运行环境,然后在.py为后缀的脚本文件中输入这样的代码并运行:
* Last Edited 2017-05-11 11:17:20 *
### 生成TS分段视频合成批处理文件 ###
FileName="TS分段视频合成.CMD"
f=open(FileName.decode('utf-8'),'a+') #追加式写入文档内容
MinVal=int(raw_input("输入文件名最小值:".decode('utf-8').encode('gbk'))) #输入内容必须为纯数字
MaxVal=int(raw_input("输入文件名最大值:".decode('utf-8').encode('gbk')))
ValDigit=int(raw_input("输入文件名长度:".decode('utf-8').encode('gbk'))) #不足的位以0填充
''' 写入TEXT内容 '''
f.write("COPY /B ")
while MinVal <= MaxVal:
f.write(str(MinVal).zfill(ValDigit)) #写入填充后的数字字符串
f.write(".ts")
if MinVal != MaxVal: f.write('+') #如果不是最后一串数字,末尾添加+
MinVal+=1
f.write(" TMP.TS")
f.close()他的作用是快速生成所需要的批处理合成文件,将这个文件放进你的.ts分段视频目录再运行就可以了。(确保你的文件名和批处理中的文件名一致)
我之前用批处理也写过一个这样的工具,后来硬盘坏了,那个文件丢失了,为了方便,我重新用Python写了个,毕竟Python写这样的工具更简单逻辑更清晰。
TS视频文件合并的批处理命令是:
COPY /B 001.ts+002.ts... 合成后的文件名.ts...代表后续的文件名,合成后的文件名.ts前面有个空格。
这样就能合成所有分段的ts视频文件了。
你下载下来的ts文件如果不是有规则的序号排列,那首先得先重命名处理,将其格式改成00001,00002类似的格式,这样便于用批处理文件去合成处理。推荐你一个更名软件:拖把更名器,好用。
另外如果你需要快速生成这个按序号排列的批处理文件(毕竟手输入很费事,尤其是大量分段视频文件的情况)你可以安装一个Python语言运行环境,然后在.py为后缀的脚本文件中输入这样的代码并运行:
* Last Edited 2017-05-11 11:17:20 *
### 生成TS分段视频合成批处理文件 ###
FileName="TS分段视频合成.CMD"
f=open(FileName.decode('utf-8'),'a+') #追加式写入文档内容
MinVal=int(raw_input("输入文件名最小值:".decode('utf-8').encode('gbk'))) #输入内容必须为纯数字
MaxVal=int(raw_input("输入文件名最大值:".decode('utf-8').encode('gbk')))
ValDigit=int(raw_input("输入文件名长度:".decode('utf-8').encode('gbk'))) #不足的位以0填充
''' 写入TEXT内容 '''
f.write("COPY /B ")
while MinVal <= MaxVal:
f.write(str(MinVal).zfill(ValDigit)) #写入填充后的数字字符串
f.write(".ts")
if MinVal != MaxVal: f.write('+') #如果不是最后一串数字,末尾添加+
MinVal+=1
f.write(" TMP.TS")
f.close()他的作用是快速生成所需要的批处理合成文件,将这个文件放进你的.ts分段视频目录再运行就可以了。(确保你的文件名和批处理中的文件名一致)
我之前用批处理也写过一个这样的工具,后来硬盘坏了,那个文件丢失了,为了方便,我重新用Python写了个,毕竟Python写这样的工具更简单逻辑更清晰。
全部回答
- 1楼网友:冷風如刀
- 2021-01-30 16:44
您是想每个文件夹里的文件单独排序,还是所有文件一起排序?
每个孙文件夹中的图片单独排序:
@echo off
@setlocal enabledelayedexpansion
@for /f "delims=" %%i in ('dir /ad /b') do (
@cd %%i
@for /f "delims=" %%j in ('dir /ad /b') do (
@cd %%j
@set n=1
@for /f "delims=" %%k in ('dir /b') do (
@set fn=%%~nk
@set ext=%%~xk
@set nfn=00000!n!
@set nfn=!nfn:~-5!
@ren "%%k" "!nfn!.!ext!"
@set /a n=n+1
)
@cd ..
)
@cd ..
)
所有图片总排序:
@echo off
@setlocal enabledelayedexpansion
@set n=1
@for /f "delims=" %%i in ('dir /ad /b') do (
@cd %%i
@for /f "delims=" %%j in ('dir /ad /b') do (
@cd %%j
@for /f "delims=" %%k in ('dir /b') do (
@set fn=%%~nk
@set ext=%%~xk
@set nfn=00000!n!
@set nfn=!nfn:~-5!
@ren "%%k" "!nfn!.!ext!"
@set /a n=n+1
)
@cd ..
)
@cd ..
)
看您要求是哪个您就存哪段,把批处理存为mydirren.bat,放在总文件夹下,双击运行即可。所有文件名序号5位对齐,前补0。
批处理已在win7下验证通过了。
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯