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

如何通过PowerShell批量重命名文件,在首个空格前补加缺失逗号

批量补全PDF文件名姓氏后逗号的PowerShell实现

问题说明

目标文件命名规范为:

Lastname, Firstname - 1010 ddmmyy.pdf

现有半数以上PDF缺失姓氏后的逗号,此前使用的替换命令会将文件名中所有空格替换为逗号,不符合需求,需要实现仅在第一个空格前插入逗号的批量重命名,且不改动已经符合规范的文件。

可直接使用的命令

先执行预演命令查看重命名效果,不会实际修改文件:

Get-ChildItem -File *.pdf | Rename-Item -NewName {
    $_.Name -replace '^([^,\s]+)(\s)', '$1,$2'
} -WhatIf

确认输出的重命名结果符合预期后,删掉-WhatIf参数执行实际重命名即可:

Get-ChildItem -File *.pdf | Rename-Item -NewName {
    $_.Name -replace '^([^,\s]+)(\s)', '$1,$2'
}

逻辑说明

  • 正则^([^,\s]+)(\s)仅匹配文件名开头、第一个空格前不含逗号的字符段(即缺失逗号的姓氏部分),以及紧跟其后的第一个空格:
    • 已经符合规范的文件名,姓氏后自带逗号,不会命中该匹配规则,不会被重复修改
    • 命中规则的文件名,替换逻辑为保留原姓氏、原第一个空格,在两者中间插入逗号,不会改动文件名后续的空格和内容
  • 效果示例:
    • 原文件名Zhang San - 1010 051124.pdf会被重命名为Zhang, San - 1010 051124.pdf
    • 原文件名Zhang, San - 1010 051124.pdf不会发生任何改动

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.27 00:36:20