好吧,这有点奇怪,但我有一些文件的名称像file_ytd.test.dds、file2_ytd.test.dds、file3_ytd.test_dds、file_ytd.noticest.dds
我想重命名它们,使它们成为
测试.dds,符号测试.dss
当然,它会删除我想在powershell中使用此命令的重复项,但我需要手动键入每个"的全名;file_ytd"类型,并且我在400k文件中有大约100k个不同的变体
``` Dir | rename-item -NewName {$_.name -replace "file_ytd." ""} ```
对此,最好的方法是什么?
如果我理解正确的话,他会成功的。
-WhatIf
参数添加到Rename-Item
和Remove-Item
中,这样您就可以查看它是否在执行您想要的操作。
Get-ChildItem |
select fullName , @{N='NewName';E={$_.BaseName.Split('.')[-1]+$_.Extension}} |
group NewName | foreach {
Rename-Item -Path $_.Group[0].FullName -NewName $_.Name -WhatIf
If ($_.Count -gt 1)
{
$_.Group[1..($_.Count -1)].FullName | Remove-Item -WhatIf
}
}