替换"。"用" _"在文件名中

时间:2017-03-29 09:54:01

标签: powershell

我使用PowerShell替换pdf文件名:

Get-ChildItem -Path C:\All -Filter *.pdf | Rename-Item -NewName { $_.Name.Replace('.','_') }

如果我将%20替换为_,它可以正常工作,但如果我们使用" test.one.pdf",我需要" test_one.pdf"作为输出,如果我使用上面的语法,它取代了。在pdf之前" test_one_pdf"。

1 个答案:

答案 0 :(得分:10)

您的代码会将name.001.pdf重命名为name_001_pdf,因此,除非您确实要删除文件的扩展名,否则只需要在文件名中替换,而不是扩展名。

Get-ChildItem -Path "C:\All" -Filter "*.pdf" | Rename-Item -NewName { $_.BaseName.Replace(".","_") + $_.Extension }