You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何编写批处理脚本实现压缩包内MP3重命名等自动化流程?

批量处理MP3压缩包的批处理脚本方案

脚本功能说明

自动遍历当前目录下所有.zip文件,依次完成以下流程:

  • 解压压缩包到临时目录
  • 按文件名排序后给MP3文件添加两位数字前缀重命名(如XYZ (1).mp3→01 XYZ (1).mp3)
  • 将处理后的MP3文件打包为原压缩包同名的新zip(或移动到同名文件夹)
  • 清理临时文件,自动处理下一个压缩包

完整脚本代码

@echo off
setlocal enabledelayedexpansion

:: 遍历当前目录下所有zip文件
for %%z in (*.zip) do (
    :: 获取压缩包名称(不含扩展名)
    set "zipName=%%~nz"
    echo 正在处理: %%z

    :: 创建临时解压目录
    set "tempDir=temp_!zipName!"
    mkdir "!tempDir!" 2>nul

    :: 解压zip到临时目录(Windows10+自带tar,旧系统可替换为7z)
    tar -xf "%%z" -C "!tempDir!"

    :: 进入临时目录处理MP3文件
    pushd "!tempDir!"
    set "count=1"
    :: 按文件名排序遍历MP3
    for /f "delims=" %%f in ('dir /b /on *.mp3') do (
        :: 生成两位数字前缀
        if !count! lss 10 (
            set "prefix=0!count!"
        ) else (
            set "prefix=!count!"
        )
        :: 执行重命名
        ren "%%f" "!prefix! %%f"
        set /a count+=1
    )
    popd

    :: 二选一:打包为新zip 或 移动到同名文件夹
    :: 选项1:打包成带_processed后缀的新zip
    tar -cf "!zipName!_processed.zip" -C "!tempDir!" .
    :: 选项2:创建同名文件夹并移动文件(取消注释即可启用)
    :: mkdir "!zipName!" 2>nul
    :: move "!tempDir!\*.mp3" "!zipName!" >nul

    :: 清理临时目录
    rmdir /s /q "!tempDir!"
    echo 处理完成: !zipName!
    echo.
)

echo 所有压缩包处理完毕!
pause

使用说明

  1. 依赖工具:脚本默认用Windows10及以上自带的tar命令,旧系统需替换为7z工具:
    • 解压命令改为:7z x "%%z" -o"!tempDir!"
    • 打包命令改为:7z a "!zipName!_processed.zip" "!tempDir!\*"
  2. 排序规则:脚本按文件名排序重命名,若需按日期排序,把dir /b /on *.mp3改成dir /b /od *.mp3
  3. 运行方式:将脚本保存为process_mp3_zips.bat,放在zip文件所在目录双击运行

注意事项

  • 处理前务必备份原压缩包,避免意外丢失文件
  • 若压缩包内有子目录,脚本会一并处理子目录中的MP3,如需仅处理根目录MP3,去掉dir命令的/s参数(本脚本默认未加/s,仅处理根目录)

内容的提问来源于stack exchange,提问作者johnbrick

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.02 02:07:27