替换"." 文件名中带有"_"

son*_*ona 3 powershell

我使用PowerShell替换pdf文件名:

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

它工作正常,如果我更换%20_,但如果我们用"test.one.pdf",我需要"test_one.pdf"作为输出,如果我使用上述语法它所取代的.在pdf之前,如"test_one_pdf".

Jam*_* C. 10

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

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