我想按名称查找目录中的所有文件夹Help
并将其重命名为blah
。
我已经尝试过了:
Get-ChildItem -Path 'C:\dev\foo' -Filter 'Help' -Recurse | ForEach-Object {
Rename-Item -Path $_.FullName -NewName 'blah'
}
但是它似乎不起作用。有任何想法吗?干杯
答案 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参数将显示所有将重命名的文件夹,而无需实际重命名。当您检查结果是否正确时,将其删除。