我在文件资源管理器中有几百个文件要重命名。 所有文件都以扩展名后的一组 2 个字符结尾。例如:
23RH1.JPG;1
有没有办法通过删除所有文件名的最后 2 个字符来批量重命名所有文件?或者我可以运行一个 Powershell 脚本,它会自动删除所有文件名末尾的最后 2 个字符?
提前谢谢你
到目前为止,我已经尝试按照
的方式运行一些东西get-childitem *.JPG | rename-item -newname { $_.fullname.substring(0,$_.fullname.length-2) + $_.extension }
和
gci <dir path \*> |% {rename-item $_.fullname -newname $_.basename -whatif}
不幸的是,我的 PowerShell 知识非常有限,我不确定如何一次批量重命名大量文件,因为它对我来说是一个相当新的工具。
非常感谢任何可以提供任何帮助或建议的人。
在这种情况下,建议将您的过滤器细化为仅查找以
.jpg
结尾的文件,然后是;
以及之后的任何内容,然后为了重命名,您可以使用一个简单的正则表达式来替换最后2个字符一个字符串.{2}$
:
Get-ChildItem path\to\targetfolder -Filter '*.jpg;?' |
Rename-Item -NewName { $_.Name -replace '.{2}$' }
试一试
Get-ChildItem -Path "C:\Path\To\Your\Folder" | foreach {Rename-Item $_.FullName -NewName ($_.BaseName.Substring(0, $_.BaseName.Length - 2) + $_.Extension)}