Вам необходимо исключить папки из перечисленных элементов.Используйте переключатель -File
, если вы используете PowerShell v3 или новее, в противном случае добавьте фильтр Where-Object
.Кроме того, вам не нужно ForEach-Object
, поскольку Rename-Item
принимает входные данные конвейера.
Get-ChildItem -Path 'C:\dev\blah' -Filter *. -Recurse | Where-Object {
-not $_.PSIsContainer
} | Rename-Item -NewName {$_.Name + ".html"}