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

使用PowerShell基于CSV列表部分匹配批量重命名文件夹

PowerShell批量重命名文件夹方案

以下是针对你需求的具体实现步骤和脚本:

  1. 确认CSV文件列名
    打开你的C:\temp\FolderNameList.csv,确认两列的表头名称,比如假设第一列叫MatchText(匹配文件夹名的内容),第二列叫ReferenceValue(要添加的参考值)。如果你的表头是其他名称,记得修改脚本里对应的字段。

  2. 执行PowerShell脚本
    打开PowerShell(建议以管理员身份运行,避免权限问题),运行以下脚本:

    # 定义路径
    $csvPath = "C:\temp\FolderNameList.csv"
    $targetDir = "O:\folder1\folder 2\0 - Sites"
    
    # 读取CSV文件
    $folderList = Import-Csv -Path $csvPath
    
    # 遍历CSV中的每一行
    foreach ($item in $folderList) {
        # 查找目标文件夹中名称包含匹配文本的文件夹
        $foldersToRename = Get-ChildItem -Path $targetDir -Directory | Where-Object { $_.Name -like "*$($item.MatchText)*" }
        
        foreach ($folder in $foldersToRename) {
            # 构造新名称:原名称 + 空格 + 参考值
            $newName = "$($folder.Name) $($item.ReferenceValue)"
            # 生成新路径
            $newPath = Join-Path -Path $targetDir -ChildPath $newName
            
            # 执行重命名(如果要先测试,把下面一行改成Write-Host "将重命名: $($folder.Name) -> $newName")
            Rename-Item -Path $folder.FullName -NewName $newName -WhatIf
        }
    }
    
  3. 测试与执行

    • 脚本里的-WhatIf参数会模拟重命名操作,不会实际修改,先运行一次查看输出是否符合预期。
    • 确认没问题后,去掉-WhatIf参数,再次运行脚本完成实际重命名。

注意事项

  • 确保CSV文件里的匹配文本不会同时匹配多个文件夹,避免误改。如果有重复匹配的情况,需要调整匹配规则(比如精确匹配开头/结尾,修改-like为-match或者更严格的条件)。
  • 操作前建议备份目标文件夹,防止意外错误。
  • 如果遇到权限问题,右键PowerShell选择“以管理员身份运行”。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 00:35:20