admin管理员组文章数量:1658061
windows上用命令行批量将.flac格式转换为.wav等格式
需先安装ffmpeg(用于音视频处理)和git(用于运行sh文件),然后执行脚本
参考资料如下:
1 windows安装ffmpeg并配置环境变量
2 【前端学习】Git的安装和基本使用方法和环境变量配置 时光大魔王
3 批量将.flac格式转换为.wav等格式
一:编写以下脚本文件放到待转换音乐文件所在文件夹下执行
#!/bin/bash
#folder=."文件夹路径"
folder=.
#临时修改系统识别的分隔符(文件名包含空格时,默认会解析为多个文件名)
MY_SAVEIFS=$IFS
#IFS=$(echo -en "\n\b")
IFS=$'\n'
for file in $(find "$folder" -type f -iname "*.flac")
do
name=$(basename "$file" .flac)
dir=$(dirname "$file")
echo ffmpeg -loglevel panic -y -i "$file" "$dir"/"$name".wav
ffmpeg -loglevel panic -y -i $file $dir/$name.wav
done
echo convert finished!
IFS=$MY_SAVEIFS
安装完ffmpeg、git后,文件管理器中右键菜单如图
二、下面代码可以在命令行带参数,指定搜索路径或待转换文件(单个)
ConvertFlacToWav.sh内容如下
#!/bin/bash
folder=.
file=
while getopts "p:f:" arg
do
case "$arg" in
p)
folder=$OPTARG
;;
f)
file=$OPTARG
;;
?)
echo "没有找到这条命令。。。退出。"
exit 1
;;
esac
done
echo "查找路径为$folder"
#if 判断路径字符串是否为空
if [[ -n "$file" ]];then
filname=$(basename "$file" .flac)
ffmpeg -loglevel panic -y -i $folder/$file $folder/$filname.wav
else
echo "未指定文件,遍历所有flac文件"
MY_SAVEIFS=$IFS
#IFS=$(echo -en "\n\b")
IFS=$'\n'
for file in $(find "$folder" -type f -iname "*.flac")
do
name=$(basename "$file" .flac)
dir=$(dirname "$file")
echo ffmpeg -loglevel panic -y -i "$file" "$dir"/"$name".wav
ffmpeg -loglevel panic -y -i $file $dir/$name.wav
done
echo convert finished!
IFS=$MY_SAVEIFS
fi
在gitbash命令行中执行下面语句
$ ./ConvertFlacToWav.sh -p E:/MUSIC/netdisk
$ ./ConvertFlacToWav.sh -p E:/MUSIC/netdisk -f "1 2 3 4.flac"
版权声明:本文标题:【ffmpeg】windows上用命令行批量将.flac格式转换为.wav等格式 内容由热心网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:https://m.elefans.com/dianzi/1729805112a1213183.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论