优化PowerShell批量重命名脚本,实现递归处理子目录
PowerShell 单行递归重命名解决方案
直接用以下单行命令即可实现需求,支持递归处理子目录,一次性完成所有替换:
Get-ChildItem -Recurse -File | Rename-Item -NewName { ($_.BaseName -replace '\.', '' -replace '-(\d)', '$1') + $_.Extension } -WhatIf
关键参数与替换逻辑说明:
-Recurse:开启递归模式,遍历当前目录及所有子目录中的文件-File:仅处理文件,避免误修改目录名称-replace '\.', '':将文件名主体(不含扩展名的部分)中的所有点(.)移除-replace '-(\d)', '$1':匹配所有“连字符+数字”的组合,仅保留数字,自动去掉前面的连字符-WhatIf:预览修改效果,确认所有文件名修改符合预期后,删除该参数即可执行实际重命名操作
效果示例:
原文件名 text.10-1.txt → 修改后 text101.txt
内容的提问来源于stack exchange,提问作者Chembs
相关产品推荐
相关产品推荐

