34 lines
856 B
Batchfile
34 lines
856 B
Batchfile
@echo off
|
|
setlocal enabledelayedexpansion
|
|
|
|
echo 开始批量提取视频第一帧截图...
|
|
echo.
|
|
|
|
REM 遍历当前目录及所有子目录中的MP4文件
|
|
for /r %%i in (*.mp4) do (
|
|
REM 获取文件所在目录
|
|
set "file_path=%%~dpi"
|
|
|
|
REM 生成输出文件名(与视频文件同名,不同扩展名)
|
|
set "output_file=%%~ni_thumbnail.jpg"
|
|
|
|
REM 判断目标文件是否存在
|
|
if not exist "!file_path!!output_file!" (
|
|
REM 提取第一帧
|
|
echo 正在处理: %%~nxi
|
|
ffmpeg -i "%%i" -vframes 1 -q:v 4 "!file_path!!output_file!" -y 2>nul
|
|
|
|
if !errorlevel! equ 0 (
|
|
echo 成功: !output_file!
|
|
) else (
|
|
echo 失败: %%~nxi
|
|
)
|
|
echo.
|
|
) else (
|
|
echo 已存在截图: !output_file!, 跳过生成.
|
|
)
|
|
)
|
|
|
|
echo 所有视频处理完成!
|
|
pause
|