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

如何为目录及子目录内所有文件添加所属根文件夹名称前缀

批量为顶层目录下所有文件添加目录名前缀的实现方案

适用于将同级的多个顶层目录(如1-0、1-1)的名称作为前缀,批量添加到该目录下所有层级子文件的文件名前,无需逐个目录操作。


方案1:Windows 自带PowerShell方案(无需额外安装软件)

系统原生支持,不需要下载第三方工具:

  • 先把所有顶层目录(1-0、1-1这类文件夹)统一放在同一个父文件夹中,例如存放在D:\批量处理\路径下
  • 打开该父文件夹,在地址栏直接输入powershell按回车,即可打开对应路径的PowerShell窗口
  • 先执行预览命令,不会实际修改文件,确认重命名规则是否正确:
Get-ChildItem -Directory | ForEach-Object {
    $prefix = $_.Name
    Get-ChildItem $_.FullName -File -Recurse | ForEach-Object {
        $newName = $prefix + $_.Name
        Write-Host "待修改:$($_.FullName) -> $newName"
    }
}
  • 确认预览结果符合预期后,执行实际重命名命令:
Get-ChildItem -Directory | ForEach-Object {
    $prefix = $_.Name
    Get-ChildItem $_.FullName -File -Recurse | ForEach-Object {
        $newName = $prefix + $_.Name
        Rename-Item -Path $_.FullName -NewName $newName
    }
}

注意:执行操作前建议先备份所有文件,避免误操作导致数据丢失;顶层目录名包含空格也可正常识别。


方案2:Python 跨平台方案(Windows/macOS/Linux 通用)

适合有Python环境的用户,全平台通用:

  • 把所有顶层目录统一放在同一个父文件夹中
  • 在该父文件夹内新建文本文档,重命名为rename_prefix.py,粘贴以下代码:
import os

# 这里默认用脚本所在的文件夹作为父目录,也可手动替换为绝对路径,例如 r"C:\Users\xxx\Desktop\批量处理"
parent_dir = os.path.dirname(os.path.abspath(__file__))

for top_folder in os.listdir(parent_dir):
    top_path = os.path.join(parent_dir, top_folder)
    if not os.path.isdir(top_path):
        continue
    prefix = top_folder
    # 递归遍历所有层级的子文件
    for root, dirs, files in os.walk(top_path):
        for file in files:
            old_path = os.path.join(root, file)
            new_name = prefix + file
            new_path = os.path.join(root, new_name)
            # 首次执行先预览,确认没问题再注释掉print、取消os.rename的注释
            print(f"待修改:{old_path} -> {new_path}")
            # os.rename(old_path, new_path)
  • 在父文件夹的终端中执行python rename_prefix.py,确认打印的预览结果符合需求后,注释掉print语句、取消os.rename行的注释,再次执行命令即可完成批量重命名。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.28 12:54:03