拖拽文件夹与文件到批处理文件,实现指定音频格式递归处理需求
批处理脚本:拖拽文件/文件夹递归处理指定音频格式
刚好我之前处理过类似的需求,给你写了个批处理脚本,完全符合你的要求:支持拖拽单个/多个文件、文件夹(含所有子目录),只筛选处理.flac、.mp3、.aac(注意你写的.acc应该是笔误,正确格式是.aac)格式的音频文件。
@echo off setlocal enabledelayedexpansion :: 定义需要处理的音频格式,空格分隔 set "extensions=.flac .mp3 .aac" :: 遍历所有拖拽进来的参数(文件/文件夹) for %%i in (%*) do ( :: 判断当前参数是否是文件夹 if exist "%%i\" ( echo 开始递归处理目录:"%%i" :: 递归遍历目录下所有指定格式的文件 for /r "%%i" %%f in (*.flac *.mp3 *.aac) do ( :: 这里替换成你实际要执行的处理命令,比如转换、复制等 echo 正在处理文件:"%%f" ) ) else ( :: 如果是文件,判断扩展名是否在目标列表中(不区分大小写) set "file_ext=%%~xi" for %%e in (!extensions!) do ( if /i "!file_ext!"=="%%e" ( echo 正在处理文件:"%%i" :: 这里替换成你实际要执行的处理命令 ) ) ) ) endlocal pause
关键功能说明
- 拖拽支持:直接把文件、多个文件或者文件夹拖到这个批处理文件上就能触发处理
- 递归遍历:使用
for /r命令自动遍历目标文件夹下的所有子目录,不会遗漏深层的音频文件 - 格式筛选:只处理
.flac、.mp3、.aac三种格式,并且通过/i参数实现不区分大小写的匹配(比如.MP3也会被识别) - 灵活扩展:把代码里的
echo 正在处理文件:"%%f"替换成你实际需要的操作即可,比如调用ffmpeg转格式、复制文件到指定目录等
使用步骤
- 把上面的代码复制到记事本里
- 保存为
AudioProcessor.bat(注意保存类型选“所有文件”,避免变成.txt) - 直接拖拽你要处理的文件/文件夹到这个
.bat文件上,脚本就会自动开始处理
内容的提问来源于stack exchange,提问作者Ste
相关产品推荐
相关产品推荐

