我使用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"。
答案 0 :(得分:10)
您的代码会将name.001.pdf
重命名为name_001_pdf
,因此,除非您确实要删除文件的扩展名,否则只需要在文件名中替换,而不是扩展名。
Get-ChildItem -Path "C:\All" -Filter "*.pdf" | Rename-Item -NewName { $_.BaseName.Replace(".","_") + $_.Extension }