2015-06-04 4 views
1

Я пытаюсь построить скрипт PowerShell для проверки расширений файлов в папке, а если не переименовать расширение на .htm. Сложить это вместе оказалось труднее.Проверить расширение файла (htm), если не переименовать в htm

Что у меня есть:

New-Item -ItemType Directory -Force -Path C:\GP_Services 
set-location C:\GP_Services 
$root = Get-ChildItem 
foreach($file) { 
    $txtfile =".htm" 
    $files = gci | Where-Object {$_.extension -eq ".htm"} 
    else (rename-item -newname) { $_.name + '.htm' } 

ответ

3

Там нет else для Where-Object. Вы должны проверить, если расширение не равно .htm и переименовать файл соответствие этого критерия:

Get-ChildItem | 
    Where-Object { $_.Extension -ne '.htm' } | 
    Rename-Item -NewName { $_.BaseName + '.htm' } 
+0

Спасибо, что сделал трюк :) –

+0

Get-ChildItem | Где-Объект {$ _. Extension -ne ".htm"} | Rename-Item -newname {$ _. Name + '.htm'} окончательная строка работает с удовольствием .. спасибо, ребята –

+0

Итак, вы хотите добавить расширение вместо его замены? В этом случае вы можете принять ответ @ arco444 вместо моего, если он решает его восстановить. –