我无意中将一千多个文件命名为filename.jpg.jpg
。我希望的最终状态是将文件名设为filename.jpg
。我如何使用PowerShell来解决这个问题?
我在博客中尝试了很多示例,发现第一个.jpg
显然被视为文件扩展名。任何帮助都将非常感谢,因为我唯一的选择是手动重命名所有文件。
答案 0 :(得分:1)
试试这个,
<a class="ui button custom-trigger" data-id="my-item-$ID">Click here</a>
它会将.jpg.jpg替换为.jpg
答案 1 :(得分:1)
您可以使用Get-ChildItem cmdlet检索文件,并使用-Filter
参数对其进行预过滤。
只要您的工作目录不同,就应该使用FullName
属性而不是Name
Rename-Item cmdlet。
我在这里使用的regex
会转义句点(由Matt提及)并确保匹配文件名的末尾($
)。
Get-ChildItem -Path 'YOUR_PATH_HERE' -Filter '*.jpg.jpg' |
foreach { Rename-Item $_.FullName ($_.FullName-replace '\.jpg\.jpg$','.jpg') }
注意:如果您需要递归重命名文件,则只需将-recurse
添加到Get-ChildItem
cmdlet。