步骤 1:安装 FFmpeg
访问 FFmpeg 官网(Download FFmpeg),下载 Windows 版编译包(如 ffmpeg-release-full.7z)。或者到(https://download.csdn.net/download/zjx2388/90539014)下载完整资料
解压文件,将 ffmpeg.exe 和 ffprobe.exe 所在的 bin 目录路径(例如 C:\ffmpeg\bin)添加到系统环境变量中。
打开命令提示符,输入 ffprobe -version 验证是否安装成功。
步骤 2:编写 PowerShell 脚本
保存以下代码为 Get-TotalVideoDuration.ps1(右键新建文本文件,粘贴后修改后缀为 .ps1):
# 指定视频文件夹路径(例如:C:\Videos)
$videoFolder = "C:\Your\Video\Folder"
$totalSeconds = 0
# 获取所有 MP4 文件
$videoFiles = Get-ChildItem -Path $videoFolder -Filter *.mp4 -Recurse
foreach ($file in $videoFiles) {
# 使用 ffprobe 获取时长(单位:秒)
$duration = ffprobe -v error -show_entries format=duration -of csv=p=0 $file.FullName
# 累加总时长
$totalSeconds += [float]$duration
# 输出单文件时长(可选)
$timeSpan = [TimeSpan]::FromSeconds($duration)
Write-Host "[File] $($file.Name): $($timeSpan.ToString('hh\:mm\:ss'))"
}
# 计算总时长并格式化
$totalTime = [TimeSpan]::FromSeconds($totalSeconds)
Write-Host "`n--------------------------------"
Write-Host "Total Duration: $($totalTime.ToString('hh\:mm\:ss'))"
步骤 3:运行脚本
右键 Get-TotalVideoDuration.ps1,选择 使用 PowerShell 运行。
若提示“脚本执行被禁止”,需先以管理员身份运行 PowerShell 并执行:
Set-ExecutionPolicy RemoteSigned