取代"。"在Powershell中没有改变扩展名

时间:2014-08-14 15:31:40

标签: powershell

您好我使用以下Powershell脚本来清​​理一些文件名..

get-childitem -recurse -Include *.mp4 | foreach { rename-item $_ $_.Name.Replace(".", " ") }

简而言之,取代"。"用" " ..但是这也删除了"。"在扩展名之前..有没有办法可以排除最终的"。"所以扩展名没有改变?

1 个答案:

答案 0 :(得分:1)

您需要分隔路径,基本文件名和扩展名。幸运的是,Get-ChildItem返回的对象可供您使用。

get-childitem -recurse -Include *.mp4 | ForEach-Object {
rename-item $_ -newname $(Join-Path -Path $_.DirectoryName -ChildPath "$($_.BaseName.Replace(".", " "))$_.Extension)") -WhatIf }

一旦您确认它将按照您的要求执行操作,请删除-whatif