赞
踩
前言
原本是想着用Java 来做循环处理的。但想到批处理应该更简洁就网上搜索了下 “批处理for循环”。
也就有了一下的方法处理了。
不过用处不是很大,虽然能提取到关键帧,但和我业务需求还是存在差异的,比如,要提取产品拍摄视频中的高清图像,
虽然,图样比较清晰,但角度不行,最终还是只能用PR来截取。
以下是当时用的代码:
- echo off
- color 0A
- ::指定当前文件所在目录
- set DIR=%~dp0
- echo DIR=%DIR%
-
- :: 参数 /R 表示需要遍历子文件夹,去掉表示不遍历子文件夹
- :: %%f 是一个变量,类似于迭代器,但是这个变量只能由一个字母组成,前面带上%%
- :: 括号中是通配符,可以指定后缀名,*.*表示所有文件
- :: %%~nxI,表示仅将 %I 扩充到一个文件名和扩展名,不包含路径)
- :: 第一层循环遍历所有子文件夹下的文件,第二层循环提取文件名(包含扩展名.xxx),
- :: 第三层循环分割文件名和扩展名,提取文件名(不包含扩展名)
-
- for /R %%x in (*.mp4) do (
- echo %%x
- for %%a in ("%%x") do (
- echo %%~nxa
- for /f "tokens=1,* delims=." %%i in ("%%~nxa") do (
- echo %%i
- mkdir "%DIR%out\%%i"
- ffmpeg -i "%%x" -filter:v select="eq(pict_type\,I)" -v
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。