标题: [文件操作] 如何用bat命令统计文件夹内mp4文件时长? [打印本页]
作者: 877 时间: 2023-4-12 09:42 标题: 如何用bat命令统计文件夹内mp4文件时长?
由于win文件夹内是可以统计mp4文件时长的,现在想如何在文件夹外面看到文件夹里面的视频总时长。
求助大佬 或者如何用bat命令统计每个文件夹内的视频时长,然后重命名到文件夹。
唯一想实现的就是在文件夹外面能看到里面mp4文件的总时长。
提前表示感谢了!
作者: 77七 时间: 2023-4-12 12:12
- @echo off
- rem 需要ffprobe,并添加到环境变量;删除不需要的格式的代码后执行
- setlocal enabledelayedexpansion
- for /d %%d in (*) do (
- pushd "%%d"
- set /a secs=0
- for /f "delims=" %%i in ('dir /b /s /a-d *.mp4 2^>nul') do (
- for /f "tokens=2 delims=^=." %%a in ('ffprobe -show_format "%%i" 2^>^&1 ^| find "duration="') do (
- set /a secs+=%%a
- )
- )
- popd
-
- rem 格式1 总分钟数
- if not !secs! equ 0 (
- set /a m=secs/60
- ren "%%d" "%%d-!m!min"
- )
-
- rem 格式2 时分秒
- if not !secs! equ 0 (
- set /a h=secs/3600,m=secs/60%%60,s=secs%%60
- ren "%%d" "%%d-!h!h!m!m!s!s"
- )
-
- )
- endlocal & pause
复制代码
作者: 877 时间: 2023-4-12 12:30
回复 2# 77七
大佬好,我想在文件夹外面运行,然后统计多个子目录里面的文件时长,最好是再~以时长重命名文件夹的名字。您看下能否实现呢?
作者: 77七 时间: 2023-4-12 12:40
本帖最后由 77七 于 2023-4-12 12:46 编辑
回复 3# 877
复制代码
代码开头加一句,填写你的实际路径,”视频1“ 内的文件夹是需要重命名的;时长已经写了啊,两种格式,删除不要的就行了
复制代码
后面的%%d就是文件夹名字,如果不要原文件夹名字,就删除%%d和连接符号“-”,但是时长一样就重名了
复制代码
作者: 877 时间: 2023-4-12 12:49
回复 4# 77七
运行bat没有反应,提示请按任意键继续,ffprobe也添加到环境变量了。
作者: 77七 时间: 2023-4-12 13:00
回复 5# 877
因为cd /d 了中文路径吧?把批处理保存为ansi编码格式
作者: 877 时间: 2023-4-12 13:04
回复 6# 77七
搞定了大佬,您太棒了!万分感谢!
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |