我有1000个PDF在一个文件夹C:\Users\1003911\Desktop\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扩展被删除了。我如何保留它?
发布于 2018-01-19 12:43:00
你的想法很对。我个人认为,使用$_.basename并将其放在子表达式中,并在最后添加到.pdf中会更容易。
Get-ChildItem C:\Users\1003911\Desktop\pdf | rename-item -newname {"$($_.basename.Replace('-layout1','')).pdf"}另请注意,我使用了字符串替换方法来删除"-layout1“
希望这能有所帮助:)
发布于 2018-01-19 15:02:15
其他版本的Ricc解决方案:
Get-ChildItem "C:\Users\1003911\Desktop\pdf" -file -filter "*.pdf" | rename-item -NewName {$_.Name.Replace('-layout1','')}此版本:
仅文件重命名,而不是directory
https://stackoverflow.com/questions/48332690
复制相似问题