Переименуйте все файлы без расширения в данном каталоге и подпапках, используя PowerShell - PullRequest
0 голосов
/ 07 декабря 2018

Мне нужно написать скрипт в PowerShell, который переименовывает все файлы без расширения в данном каталоге и во всех подпапках.Под переименованием я подразумеваю добавить расширение, например, «.html» в файл, в котором его нет.До сих пор я пытался построить что-то вроде этого:

Get-ChildItem -Path 'C:\dev\blah' -Filter *. -Recurse | ForEach-Object {
    Rename-Item -Path $_.FullName -NewName ($_.FullName + ".html")
}

1 Ответ

0 голосов
/ 07 декабря 2018

Вам необходимо исключить папки из перечисленных элементов.Используйте переключатель -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"}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...