我无意中将一千多个文件命名为filename.jpg.jpg。我想要的结束状态是文件名为filename.jpg。如何使用PowerShell修复此问题?
我尝试了博客中的许多示例,发现第一个.jpg显然被视为文件扩展名。任何帮助都将非常感谢,因为我唯一的选择是手动重命名所有的文件。
发布于 2016-04-24 21:32:21
尝尝这个,
Get-childItem constant* | % {rename-item $_.name ($_.name -replace '.jpg.jpg','.jpg')}它将取代.jpg中的.jpg.jpg
发布于 2016-04-24 23:48:10
可以使用Get-ChildItem cmdlet检索文件,并使用-Filter参数对其进行预筛选。
只要您的工作目录不同,就应该使用FullName属性而不是Rename-Item cmdlet的Name。
我在这里使用的regex将转义句点(Matt提到的),并确保匹配文件名的末尾($)。
Get-ChildItem -Path 'YOUR_PATH_HERE' -Filter '*.jpg.jpg' |
foreach { Rename-Item $_.FullName ($_.FullName-replace '\.jpg\.jpg$','.jpg') }注意:如果您需要递归重命名文件,您只需将-recurse添加到Get-ChildItemcmdlet。
https://stackoverflow.com/questions/36823731
复制相似问题