批量转换嵌套文件夹中的视频

批量转换嵌套文件夹中的视频

我使用了 Byte Commander 的优秀脚本 如何转换嵌套文件夹中的所有视频文件?(批量转换)

但我有两个问题。

1)是否可以完全镜像源文件夹和目标文件夹?(扫描/videos/下的所有子文件夹并在同一架构中复制调整大小的视频

/视频/2019/01 => /resized_video/2019/01

/视频/2019/02 => /resized_video/2019/02

/videos/2019/03/周年纪念/ => /resized_video/2019/03/周年纪念

ETC...

2)如果目标文件存在,是否可以跳过转换(这样我可以每月“同步”一次原始文件夹和调整大小的文件夹,而不必再次转换现有视频)

非常感谢你的帮助

吉吉克

答案1

对于第一个问题:

yes n | cp -i -r videos/ resized_video/

videos它会在中制作一个精确的镜像,resized_video如果存在同名文件,它就不会更新它。

对于后者 :

for i in videos/**/*.{mp4,avi,mts,and_whatever_format_you_want}
do
    if [ -f resized_video/$i ] 
    then 
        echo File $i exists. Skip resizing
    else
        do_resizing_and_moving
    fi
done

仅当不存在同名文件时,它才会将视频添加到videosresized_videos

如果有人有改进建议,我很高兴听取。

相关内容