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