PowerShell重命名文件夹遇无匹配字符报错,PDF脚本无此问题求助
解决PowerShell批量重命名文件夹时的“源和目标路径必须不同”报错
问题根源是你没过滤掉不需要修改的文件夹:当文件夹名称里没有ABC时,-replace 'ABC',''返回的新名称和原名称完全一致,Rename-Item尝试重命名到相同路径,就会触发IO错误。你的PDF脚本没报错,大概率是因为处理的所有PDF文件都包含需要替换的字符,没遇到新旧名称一致的情况。
直接修改脚本,先筛选出名称包含ABC的文件夹再执行重命名:
$FolderPath = "C:\examplepath" Get-ChildItem -Path $FolderPath -Directory -Recurse | Where-Object { $_.Name -match 'ABC' } | Rename-Item -NewName { $_.Name -replace 'ABC','' }
额外说明
- 如果需要不区分大小写处理(比如匹配
abc、Abc等变体),可以调整为不区分大小写的匹配和替换规则:$FolderPath = "C:\examplepath" Get-ChildItem -Path $FolderPath -Directory -Recurse | Where-Object { $_.Name -match '(?i)ABC' } | Rename-Item -NewName { $_.Name -replace '(?i)ABC','' } - 这层过滤逻辑确保只有真正需要改名的文件夹被处理,从根源避免了“路径相同”的报错。
内容的提问来源于stack exchange,提问作者memphreblues
相关产品推荐
相关产品推荐

