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

修改批处理脚本:按艺术家名整理歌曲至指定层级文件夹结构

批处理脚本:按艺术家整理歌曲文件夹结构

需求说明

  • 歌曲文件名固定格式:艺术家名 - 歌曲名.wav
  • 需实现以下整理逻辑:
    1. 识别同一艺术家的所有歌曲
    2. 以该艺术家第一首歌曲的歌曲名创建上层文件夹
    3. 在上层文件夹内创建以艺术家名命名的子文件夹
    4. 将该艺术家的所有歌曲移动至对应的子文件夹

原文件示例

Artist name1 - Song Name1.wav
Artist name1 - Song Name2.wav
Artist name2 - Song Name1.wav
Artist name2 - Song Name2.wav
Artist name2 - Song Name3.wav
...

期望最终文件夹结构

───ALBUMS
│   ├───Song Name1
│   │   └───Artist name1
│   │       ├───Artist name1 - Song Name1.wav
│   │       └───Artist name1 - Song Name2.wav
│   └───Song Name1
│       └───Artist name2
│           ├───Artist name2 - Song Name1.wav
│           ├───Artist name2 - Song Name2.wav
│           └───Artist name2 - Song Name3.wav

修改后的批处理脚本

@echo off
setlocal enabledelayedexpansion
PushD %~dp0

:: 存储已处理过的艺术家,避免重复操作
set "processedArtists="

:: 遍历所有WAV文件,按艺术家分组处理
for /F "delims=" %%I in ('dir /a-d /o:n /b *.wav') do (
    set "fileName=%%~nI"
    :: 按" - "拆分文件名,提取艺术家和歌曲名
    for /F "delims=- tokens=1*" %%A in ("!fileName!") do (
        set "artist=%%A"
        :: 去除艺术家名前后多余空格
        set "artist=!artist: =!"
        set "songName=%%B"
        :: 去除歌曲名前的空格
        set "songName=!songName:~1!"
        
        :: 检查当前艺术家是否已处理
        if "!processedArtists:!artist!=!" equ "!processedArtists!" (
            set "processedArtists=!processedArtists!!artist!|"
            
            :: 创建上层文件夹(第一首歌的歌名)和艺术家子文件夹
            md "!songName!" 2>nul
            md "!songName!\!artist!" 2>nul
            
            :: 批量移动该艺术家的所有歌曲
            for /F "delims=" %%J in ('dir /a-d /o:n /b "*!artist! - *.wav"') do (
                move "%%J" "!songName!\!artist!"
            )
        )
    )
)

echo 歌曲整理完成!
pause
endlocal

关键逻辑说明

  • 延迟扩展:启用enabledelayedexpansion保证循环中变量的实时更新
  • 文件名拆分:通过for /F以-为分隔符拆分文件名,同时去除多余空格确保路径识别准确
  • 去重处理:用processedArtists变量记录已处理的艺术家,避免重复创建文件夹和重复移动文件
  • 批量操作:识别到新艺术家时,一次性移动该艺术家的所有对应歌曲,提升处理效率

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.20 12:03:30