小编Bac*_*ace的帖子

如何获取包含多个子文件夹的文件夹中所有视频文件的持续时间?

我有一个名为tutorials的文件夹。在里面,大约有 15 个文件夹,每个文件夹包含大约 15-20 个.mp4视频文件。我想获取文件夹中存在的所有文件的总持续时间tutorials。这是我到目前为止编写的代码:

 for d in ~/Videos/tutorials/*; do
   if [ -d "$d" ]; then
     exiftool -n -q -p '${Duration;our $sum;$_=ConvertDuration($sum+=$_)}' ./*.mp4| tail -n1
   fi
 done
Run Code Online (Sandbox Code Playgroud)

上面的代码在执行时会File not found: ./*.mp4tutorials 中存在的每个子文件夹给出一个错误。然而,当线

exiftool -n -q -p '${Duration;our $sum;$_=ConvertDuration($sum+=$_)}' ./*.mp4| tail -n1
Run Code Online (Sandbox Code Playgroud)

在每个子文件夹内单独执行,我能够获得正确的输出。

我应该在上面的代码中进行哪些更改才能使其正常工作?

command-line video scripts exiftool

7
推荐指数
2
解决办法
4736
查看次数

标签 统计

command-line ×1

exiftool ×1

scripts ×1

video ×1