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

PowerShell脚本开发:按父目录命名文件并递增序号

PowerShell脚本:按父文件夹重命名文件并统计数量

我帮你写了一个符合需求的PowerShell脚本,同时加入了同名文件检测、错误捕获等实用容错处理,能完美实现统计目标目录文件数量+按规则重命名的功能,具体如下:

# 定义目标目录路径,替换成你的实际路径
$targetDir = "D:\Your\Target\Directory"

# 获取目标目录下的所有子文件夹(如果要直接处理目标目录本身,改成 Get-Item $targetDir 即可)
$folders = Get-ChildItem -Path $targetDir -Directory

foreach ($folder in $folders) {
    # 获取当前文件夹下的所有文件(排除子文件夹)
    $files = Get-ChildItem -Path $folder.FullName -File
    $fileCount = $files.Count

    # 输出统计信息
    Write-Host "文件夹 [$($folder.Name)] 下共有 $fileCount 个文件"

    if ($fileCount -eq 0) {
        Write-Host "该文件夹下无文件,跳过重命名操作`n"
        continue
    }

    # 初始化计数器
    $counter = 0

    foreach ($file in $files) {
        # 构建新文件名:首个文件不加数字,后续依次递增
        $newFileName = if ($counter -eq 0) {
            "$($folder.Name)$($file.Extension)"
        } else {
            "$($folder.Name)$counter$($file.Extension)"
        }

        $newFilePath = Join-Path -Path $folder.FullName -ChildPath $newFileName

        # 检查新文件名是否已存在,避免意外覆盖
        if (Test-Path -Path $newFilePath) {
            Write-Warning "文件 [$newFilePath] 已存在,跳过该文件"
            $counter++
            continue
        }

        # 执行重命名并捕获异常
        try {
            Rename-Item -Path $file.FullName -NewName $newFileName -ErrorAction Stop
            Write-Host "已重命名:[$($file.Name)] -> [$newFileName]"
        } catch {
            Write-Error "重命名文件 [$($file.Name)] 失败:$_"
        }

        $counter++
    }
    Write-Host "`n"
}

功能与细节说明

  • 统计文件数量:脚本会遍历每个目标文件夹,输出该文件夹下的文件总数,空文件夹会直接跳过重命名步骤。
  • 重命名规则:严格按照你要求的逻辑:
    • 文件夹内首个文件命名为 父文件夹名.扩展名
    • 第二个及以后的文件依次命名为 父文件夹名1.扩展名、父文件夹名2.扩展名……
  • 容错处理:
    • 自动检测同名文件,避免覆盖现有内容,遇到冲突会给出警告并跳过
    • 捕获重命名过程中的异常(比如权限不足、文件被占用),确保脚本不会中途中断
  • 灵活调整:
    • 如果要直接处理目标目录本身(而非子文件夹),把 Get-ChildItem -Path $targetDir -Directory 改成 Get-Item $targetDir 即可
    • 如果需要递归处理所有嵌套子文件夹里的文件,给 Get-ChildItem 添加 -Recurse 参数即可(此时每个文件会以自己的直接父文件夹名命名)

使用建议

  1. 先在测试目录上运行脚本,确认效果符合预期后再处理实际文件
  2. 运行脚本前,确保你有目标目录的读写权限
  3. 如果需要保留原文件备份,可以在重命名前先复制文件到其他位置

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.19 10:30:57