заменить имена всех директорий и файлов в PS

Я хочу заменить все символы пробела на "_" в именах всех подпапок и файлов. К сожалению, когда я набираю:

Get-ChildItem -recurse -name | ForEach-Object { Rename-Item $_ $_.replace(" ","_") }

Сообщение об ошибке:

Rename-Item: Исходный и целевой пути должны быть разными. На строке: 1 char: 60 + Get-ChildItem -recurse -name | ForEach-Object {Rename-Item <<<< $ _ $ .replace ("", "")} + CategoryInfo: WriteError: (PATH_HERE) [Rename-Item], IOException + FullyQualifiedErrorId: RenameItemIOError, Microsoft.PowerShell.Commands.RenameItemCommand

Как мне улучшить этот короткий код?

5
задан Emperor XLII 1 April 2012 в 14:12
поделиться