标题: [文件操作] 请问批处理怎么把视频音频的时间长度也生成出来呢? [打印本页]
作者: liuxuseo 时间: 2022-1-13 10:18 标题: 请问批处理怎么把视频音频的时间长度也生成出来呢?
复制代码
请问这代码是把当前目录的资源生成一个列表,请问怎么把视频音频的时间长度也生成出来呢?
作者: liuxuseo 时间: 2022-1-14 13:36
大神帮下忙
作者: Batcher 时间: 2023-12-2 11:13
获取单个视频文件的时长:- ffprobe.exe -v error -show_entries format=duration -of default=noprint_wrappers=1:nokey=1 "1.mp4"
复制代码
批量删除小于6秒和大于240秒的mp4视频文件:- @echo off
- REM 1、下载命令行工具 FFmpeg 例如:ffmpeg-n6.0-latest-win64-gpl-6.0.zip
- REM https://github.com/BtbN/FFmpeg-Builds/releases
- REM 2、解压缩之后把 ffprobe.exe 和此脚本放在同一个文件夹下
- set "DurationMin=20"
- set "DurationMax=240"
- cd /d "%~dp0"
- for /f "delims=" %%i in ('dir /b /s /a-d *.mp4') do (
- set "ThisFile=%%i"
- for /f "delims=." %%a in ('ffprobe.exe -v error -show_entries format^=duration -of default^=noprint_wrappers^=1:nokey^=1 "%%i"') do (
- if %%a lss %DurationMin% (
- echo File to delete: [%%a] "%%i"
- del /f /q "%%i"
- ) else if %%a gtr %DurationMax% (
- echo File to delete: [%%a] "%%i"
- del /f /q "%%i"
- )
- )
- )
- pause
复制代码
作者: aloha20200628 时间: 2023-12-2 13:13
提供一个不必下载安装 FFmpeg 系列工具的方案
以下代码存为批处理脚本
代码中假定获取当前目录中的mp4和mp3文件时长。- @set @v=1 /*
- @echo off &dir/b/s/a-d *.mp4 *.mp3|cscript /e:jscript "%~f0" &exit/b
- */
- var ws = WSH.stdin, sa = new ActiveXObject('shell.application');
- while (!ws.atendofstream) {
- var F = ws.readline(); //逐行读取
- var i = F.lastIndexOf('\\'), pathF = F.substr(0,i+1), nameF = F.substr(i+1);
- var ns = sa.namespace(pathF), pn = ns.parsename(nameF);
- WSH.echo(ns.getdetailsof(pn,27)+' '+nameF);
- }
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |