标题: [文件操作] [已解决]如何获取指定文件夹下全部MP3文件的播放时长的总和 [打印本页]
作者: a1999zqw 时间: 2016-3-26 15:54 标题: [已解决]如何获取指定文件夹下全部MP3文件的播放时长的总和
本帖最后由 a1999zqw 于 2016-3-26 19:51 编辑
求某个文件夹下全部MP3文件的播放时长的总和,谢谢老师
作者: pcl_test 时间: 2016-3-26 17:52
本帖最后由 pcl_test 于 2016-3-26 21:24 编辑
- //&cls&dir /b *.mp3|cscript -nologo -e:jscript "%~f0"&pause&exit
-
- function addZero(n){return n<10?'0'+n:n}
-
- function formatSum(t){
- var r = t.split('.');
- r[1]=r[1]?r[1]:'0'
- var hour = parseInt(r[0]/3600);
- var minute = parseInt((r[0]-hour*3600)/60);
- var second = parseInt((r[0]-hour*3600)%60);
- return addZero(hour)+':'+addZero(minute)+':'+addZero(second)+'.'+r[1]
- }
-
- var s=0, wo = new ActiveXObject('WMPlayer.OCX');
- while (!WScript.StdIn.AtEndOfStream){
- var f = WScript.StdIn.ReadLine();
- var t = wo.newMedia(f).GetItemInfo("Duration");
- //WScript.StdOut.WriteLine(f+'|'+t);
- s = Number((s+parseFloat(t)).toFixed(3));
- }
- WScript.StdOut.WriteLine(formatSum(s.toString()));
复制代码
作者: a1999zqw 时间: 2016-3-26 18:46
感谢版主,哪里输入或替换成我要的文件夹,谢谢?
作者: pcl_test 时间: 2016-3-26 19:26
回复 3# a1999zqw
把批处理文件跟mp3文件放一起运行或修改//&cls&pushd "D:\指定目录\"&dir /b……
作者: happy886rr 时间: 2016-3-26 19:33
本帖最后由 happy886rr 于 2016-3-26 20:09 编辑
码率折算法,参数可自由设置,跟mp3放一起- @echo off&setlocal enabledelayedexpansion
- ::***************************
- REM 设置阈值
- set Thrs=6000000
- REM 设置主流码率
- set pop=128 ^kbps
- REM 设置加权码率
- set weig=256 ^kbps
- ::***************************
- for %%a in (*.mp3) do (
- set size=%%~za
- if !size! gtr !Thrs! (set bps=!weig!) else (set bps=!pop!)
- set /a sec=size/bps*8/1024+sec
- )
- set /a min=sec/60
- echo 总计 !sec!秒
- echo 约合 !min!分钟
- pause>nul
复制代码
回复 3# a1999zqw
作者: WHY 时间: 2016-3-26 19:39
第三方 tag.exe
http://batch-cn.qiniudn.com/s/tool/?key=tag- @echo off
- setlocal enabledelayedexpansion
- for /f "tokens=8" %%i in ('tag E:\音乐\*.mp3 2^>^&1^|findstr /b "Details:"')do (
- set "t=%%i"
- set /a "s+=(1!t::=-100)*60+1!-100"
- )
- set /a hh=s/3600+100, mm=s%%3600/60+100, ss=s%%60+100
- echo !hh:~1!:!mm:~1!:!ss:~1!
- pause
复制代码
作者: a1999zqw 时间: 2016-3-26 19:50
感谢各位老师,谢谢啦
作者: a1999zqw 时间: 2016-6-17 22:34 标题: 如何将结果输出到c:\1.txt
本帖最后由 pcl_test 于 2016-6-18 00:09 编辑
2楼代码如何输出到指定文本?
作者: gawk 时间: 2016-6-17 22:42
本帖最后由 pcl_test 于 2016-6-18 00:05 编辑
我也是瞎猜的,随便试试吧。
//&cls&dir /b *.mp3|cscript -nologo -e:jscript "%~f0" > "C:\1.txt" &pause&exit
……
作者: ddrwin 时间: 2020-3-15 20:16
pcl_test 发表于 2016-3-26 17:52
这个脚本也可以处理视频文件时长,真是太好了!谢谢大大!
作者: 609980218 时间: 2020-3-16 09:43
又学一招,谢谢大大!
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |