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

PowerShell批量重命名文件:按Lxx循环命名需求求助

PowerShell批量重命名文件(1-12循环后缀)

一、直接修改脚本实现循环后缀

无需拆分文件夹,通过计数器循环逻辑即可实现1-12的后缀序列,同时保证后缀为两位数格式(如L01而非L1):

Get-ChildItem -Path "C:\Users\Admin\Desktop\TEST" -Recurse -Include "*.txt" | 
ForEach-Object -Begin { $Counter = 1 } -Process {
    # 生成格式化的两位数后缀
    $suffix = "L{0:D2}" -f $Counter
    # 拼接新文件名:原基础名 + _ + 后缀 + 原扩展名
    $newName = "{0}_{1}{2}" -f $_.BaseName, $suffix, $_.Extension
    Rename-Item $_ -NewName $newName
    # 计数器循环:达到12后重置为1
    $Counter = $Counter % 12 + 1
}

逻辑说明

  • {0:D2} 将数字格式化为两位数,确保后缀序列是L01到L12,符合规范要求
  • $Counter % 12 + 1 实现循环:当计数器为12时,12%12=0,加1后回到1,完成1-12的循环逻辑

二、按12个一组拆分到文件夹后重命名

如果需要先分组再处理,可分两步执行:

1. 将文件按12个一组拆分到对应文件夹

$files = Get-ChildItem -Path "C:\Users\Admin\Desktop\TEST" -Recurse -Include "*.txt"
$groupSize = 12
$totalGroups = [math]::Ceiling($files.Count / $groupSize)

for ($i = 0; $i -lt $totalGroups; $i++) {
    # 创建分组文件夹
    $groupFolder = Join-Path "C:\Users\Admin\Desktop\TEST" "Group_$($i+1)"
    if (-not (Test-Path $groupFolder)) {
        New-Item -ItemType Directory -Path $groupFolder | Out-Null
    }
    # 移动对应组的文件到文件夹
    $startIdx = $i * $groupSize
    $endIdx = [math]::Min(($i+1)*$groupSize - 1, $files.Count - 1)
    $files[$startIdx..$endIdx] | Move-Item -Destination $groupFolder
}

2. 遍历每个分组文件夹完成重命名

Get-ChildItem -Path "C:\Users\Admin\Desktop\TEST\Group_*" -Directory | ForEach-Object {
    $currentFolder = $_
    Get-ChildItem -Path $currentFolder.FullName -Include "*.txt" | 
    ForEach-Object -Begin { $Counter = 1 } -Process {
        $suffix = "L{0:D2}" -f $Counter
        $newName = "{0}_{1}{2}" -f $_.BaseName, $suffix, $_.Extension
        Rename-Item $_ -NewName $newName
        $Counter++
    }
}

逻辑说明

  • 第一步先计算总分组数,创建对应文件夹并按12个一组移动文件
  • 第二步遍历每个分组文件夹,在内部按1-12递增重命名,每组最多12个文件,无需循环计数器

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 03:05:24