我在文件夹C:\Users\1003911\Desktop\pdf
中有1000个PDF。
文件名类似于38852ad-Layout1
,38852s-Layout-1
等等。
我需要从所有PDF中删除“-Layout1”。
我在这个网站上尝试了一些选项,但我无法做到。任何人都可以给我准确的代码我应该写什么?
我的代码是:
Get-ChildItem 'C:\Users\1003911\Desktop\pdf' |
Rename-Item -NewName { $_.Name.Substring(0, $_.Name.Length-12) }
我用它来重命名并且有效,但删除了.pdf扩展名。我该如何保留它?
答案 0 :(得分:0)
你有正确的想法。我个人认为使用$ _。basename更容易,并将其放在子表达式中,并在最后添加.pdf。
Get-ChildItem C:\Users\1003911\Desktop\pdf | rename-item -newname {"$($_.basename.Replace('-layout1','')).pdf"}
另请注意,我使用[string]替换方法来删除“-layout1”
希望这会有所帮助:)
答案 1 :(得分:0)
其他版本的Ricc解决方案:
Get-ChildItem "C:\Users\1003911\Desktop\pdf" -file -filter "*.pdf" | rename-item -NewName {$_.Name.Replace('-layout1','')}
此版本: