使用Powershell重命名目录中具有给定名称的所有文件夹

时间:2018-12-10 12:46:41

标签: powershell

我想按名称查找目录中的所有文件夹Help并将其重命名为blah。 我已经尝试过了:

Get-ChildItem -Path 'C:\dev\foo' -Filter 'Help' -Recurse | ForEach-Object {
    Rename-Item -Path $_.FullName -NewName 'blah'
}

但是它似乎不起作用。有任何想法吗?干杯

1 个答案:

答案 0 :(得分:3)

#Option 1
replace(replace(a, a < min(ref), 0), a > max(ref), max(ref))

#Option 2
ifelse(a < min(ref), 0, ifelse(a > max(ref), max(ref), a))

您缺少通配符-$path = "C:\dev\foo" $oldName = "Help" $newName = "blah" Get-ChildItem -Path $path -Filter "*$oldName*" -Recurse | Rename-Item -NewName { $_.name -Replace $oldName, $newName } -WhatIf 。这样,您将搜索名称中包含帮助的所有文件夹,而不仅仅是名为帮助的文件夹。 -WhatIf参数将显示所有将重命名的文件夹,而无需实际重命名。当您检查结果是否正确时,将其删除。