我想按名称查找目录中的所有文件夹,例如Help
,并将它们重命名为blah
。香港专业教育学院试图这样做:
Get-ChildItem -Path 'C:\dev\foo' -Filter 'Help' -Recurse | ForEach-Object {
Rename-Item -Path $_.FullName -NewName 'blah'
}
但它似乎不起作用。有任何想法吗?干杯
$path = "C:\dev\foo"
$oldName = "Help"
$newName = "blah"
Get-ChildItem -Path $path -Filter "*$oldName*" -Recurse |
Rename-Item -NewName { $_.name -Replace $oldName, $newName } -WhatIf
您缺少通配符- "*$oldName*"
。这样,您将搜索名称中包含帮助的所有文件夹,而不仅仅是搜索名为Help的文件夹。该-WhatIf参数会显示所有,但实际上不重命名它们被重新命名的文件夹。当您检查结果是否正确时,将其删除。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句