如何使用PowerShell实现文件名中指定字符的替换
PowerShell 实现指定文件末尾字符替换重命名的最优方法
针对你提供的固定路径场景的最优解
你已经明确原路径和替换规则,直接调用Rename-Item即可,没有多余的资源开销,是当前场景下的最优实现:
Rename-Item -Path "C:\Users\winAdmin\Documents\ManagedList1.txt" -NewName "ManagedList2.txt"
说明:Rename-Item的-NewName参数仅需传入新的文件名即可,无需重复填写目录路径,只要-Path参数正确指定原文件完整路径即可正常执行。
通用批量同类场景的实现
如果你需要适配更多同类替换需求(比如同目录下多个文件名末尾数字都需要替换),可以用正则匹配末尾字符的方式实现更通用的逻辑:
- 第一步:获取目标文件对象
$targetFile = Get-Item -Path "C:\Users\winAdmin\Documents\ManagedList1.txt"
- 第二步:使用正则匹配替换文件名末尾的字符1为2
$newFileName = ($targetFile.BaseName -replace '1$', '2') + $targetFile.Extension
说明:正则语法1$只会匹配文件名末尾位置的字符1,不会误替换文件名中间的同名字符,安全性更高。
- 第三步:执行重命名操作
Rename-Item -Path $targetFile.FullName -NewName $newFileName
操作提示:执行任意重命名操作前,都可以在
Rename-Item命令末尾加上-WhatIf参数,先预览操作结果,确认符合预期后再去掉-WhatIf正式执行,避免误操作。
内容的提问来源于stack exchange,提问作者Kelvin A. Vasquez
相关产品推荐
相关产品推荐

