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

Powershell 实现按文件名内日期批量重命名文件咨询

PowerShell 批量重命名文件解决方案

实现逻辑

  • 匹配文件名中yyyy-MM-dd格式的日期字段
  • 按规则提取日期字段中的年、月、日拼接新文件名
  • 支持预览匹配结果,确认无误后再执行重命名操作,避免误改

操作步骤

第一步:预览匹配结果(无风险,不会修改文件)

将以下代码中的$targetFolder替换为你实际的目标文件夹路径,复制到PowerShell中执行,会打印所有匹配文件的原文件名和对应的新文件名,确认规则是否符合预期:

# 替换为你的目标文件夹完整路径
$targetFolder = "C:\你的文件夹路径"

Get-ChildItem -Path $targetFolder -File | ForEach-Object {
    # 匹配文件名中的日期格式
    if ($_.Name -match '_(\d{4})-(\d{2})-(\d{2})_') {
        $year = $matches[1]
        $month = $matches[2]
        $day = $matches[3]
        # 按规则拼接新文件名,保留原文件扩展名
        $newName = "$month$day$($year.Substring(2)) changefile$($_.Extension)"
        Write-Host "原文件:$($_.Name) → 新文件:$newName"
    }
}

第二步:执行重命名操作

确认预览结果正确后,使用以下代码执行重命名:

# 替换为你的目标文件夹完整路径
$targetFolder = "C:\你的文件夹路径"

Get-ChildItem -Path $targetFolder -File | ForEach-Object {
    if ($_.Name -match '_(\d{4})-(\d{2})-(\d{2})_') {
        $year = $matches[1]
        $month = $matches[2]
        $day = $matches[3]
        $newName = "$month$day$($year.Substring(2)) changefile$($_.Extension)"
        # 首次执行可以保留-WhatIf参数预览执行效果,确认没问题后删除该参数即可实际执行重命名
        Rename-Item -Path $_.FullName -NewName $newName -WhatIf
    }
}

注意事项

  • 执行前建议先备份目标文件夹内的文件,避免操作失误导致文件异常
  • 如需遍历子文件夹内的所有文件,可在Get-ChildItem命令后添加-Recurse参数
  • 如需调整新文件名的拼接规则,直接修改$newName的拼接逻辑即可
  • 如存在同一日期多个文件的场景,可额外添加序号逻辑避免重名冲突

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.05 01:36:03