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

音乐文件夹批量归类求助:按名称自动创建父文件夹并移动

嘿,我之前整理自己的音乐库时也遇到过一模一样的需求!Advanced Renamer搞不定的话,用脚本反而更直接,给你两个平台的靠谱方案:

Linux Bash 解决方案

直接在你的音乐文件夹里打开终端,运行这段脚本就行:

for dir in */; do
    # 提取第一个 "-" (带前后空格)之前的部分作为父文件夹名
    parent_dir="${dir%% - *}"
    # 自动创建父文件夹(-p 参数确保即使有嵌套目录也能创建,这里虽然用不上但更稳妥)
    mkdir -p "$parent_dir"
    # 把原文件夹移动到对应的父文件夹下
    mv "$dir" "$parent_dir/"
done

关键细节解释:

  • */ 会匹配当前目录下所有的子文件夹(自带末尾斜杠,避免和文件混淆)
  • ${dir%% - *} 是Bash的参数扩展技巧:%% 表示从字符串末尾开始删除最长的匹配内容,这里精准匹配第一个-及之后的所有字符,完美提取你要的乐队名(比如「AC DC」「AC_DC」)
  • 所有变量都用双引号括起来,能完美处理文件夹名里的空格、下划线这些特殊字符,不会出问题
Windows PowerShell 解决方案

如果用Windows,PowerShell是最靠谱的选择(比CMD批处理省心太多):

  1. 打开PowerShell,导航到你的音乐文件夹(比如cd D:\Music)
  2. 运行这段脚本:
Get-ChildItem -Directory | ForEach-Object {
    # 按第一个 "- " 分割文件夹名,只取前半部分作为父文件夹名
    $parentDir = $_.Name -split ' - ', 2 | Select-Object -First 1
    # 安全拼接父文件夹的完整路径
    $parentPath = Join-Path -Path $_.DirectoryName -ChildPath $parentDir
    # 如果父文件夹不存在,就创建它
    if (-not (Test-Path -Path $parentPath)) {
        New-Item -ItemType Directory -Path $parentPath | Out-Null
    }
    # 把原文件夹移动到父文件夹里
    Move-Item -Path $_.FullName -Destination $parentPath
}

为啥选PowerShell?

  • Get-ChildItem -Directory 精准获取所有子文件夹,不会碰文件
  • -split ' - ', 2 只按第一个-分割,完全不用担心文件夹名里后续出现的-干扰结果
  • 全程用PowerShell的内置命令处理路径,自动适配带空格的文件名,不会出现CMD里的各种奇怪问题

可选:Windows CMD 批处理方案(不推荐)

如果你非要用CMD,这个脚本也能凑合用,但对带特殊字符的文件夹名支持很差,容易出错:

@echo off
setlocal enabledelayedexpansion
for /d %%d in (*) do (
    set "dirName=%%d"
    for /f "tokens=1* delims=-" %%a in ("!dirName!") do (
        set "parentDir=%%a"
        rem 去掉父文件夹名末尾的空格(因为分割后会带个空格)
        set "parentDir=!parentDir:~0,-1!"
        if not exist "!parentDir!" mkdir "!parentDir!"
        move "%%d" "!parentDir!"
    )
)
endlocal

注意:这个脚本会把「AC DC - ...」变成「AC DC」父文件夹,但如果文件夹名里有其他特殊字符(比如方括号),可能会出问题,所以还是优先用PowerShell。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 09:03:48