#!/bin/bash -e
# author:phpwyl
# url:https://www.cnblogs.com/phpwyl
file_names="$1"
new_root_names="$2"
demoFun() {
root_name=$1
new_root_name=$2
#获取所有的目录
for file_a in ${root_name}/*; do
if test -d "$file_a"; then
project_name="${file_a##*/}"
new_root_name=$2"/"$project_name
#创建目录
if [ ! -d $new_root_name ]; then
mkdir $new_root_name
fi
demoFun $(expr $file_a) $(expr $new_root_name)
else
#这里需要进行文件的复制
project_name="${file_a##*/}"
#获取后缀
suffix="${project_name##*.}"
case "$suffix" in
"mp4" | "mpg" | "mov")
#这里进行转码
sleep 1
ffmpeg -i $file_a -codec copy $2"/"${project_name%%.*}".ts"
;;
*)
#这里进行cp
cp $file_a $2"/"$project_name
;;
esac
fi
done
}
#判断是否安装ffmpeg
if [ -f /usr/local/bin/ffmpeg ]; then
if [[ -n "$file_names" ]]; then
# 判断是否是目录
if test -d "$file_names"; then
#递归调用
demoFun $(expr $file_names) $(expr $new_root_names)
else
echo "参数 【1】 不是目录!"
exit 0
fi
else
echo "请输入参数路径"
exit 0
fi
else
echo "请安装ffmpeg 并在/usr/local/bin下设置环境变量"
exit 0
fi
脚本执行方式:Pffmpeg.sh /Volumes/xxx /Volumes/exfat/xxx