批量PDF重命名 - 删除后缀

时间:2018-01-19 01:05:44

标签: powershell pdf batch-rename

我在文件夹C:\Users\1003911\Desktop\pdf中有1000个PDF。

文件名类似于38852ad-Layout138852s-Layout-1等等。

我需要从所有PDF中删除“-Layout1”。

我在这个网站上尝试了一些选项,但我无法做到。任何人都可以给我准确的代码我应该写什么?

我的代码是:

Get-ChildItem 'C:\Users\1003911\Desktop\pdf' |
    Rename-Item -NewName { $_.Name.Substring(0, $_.Name.Length-12) }

我用它来重命名并且有效,但删除了.pdf扩展名。我该如何保留它?

2 个答案:

答案 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','')}

此版本:

  • 只采取文件,而不是目录
  • 仅过滤pdf
  • 重命名名称而非基本名称+连接