2015-06-19 4 views
1

Я получил 3 PS1 файлы в д:Powershell: Get-ChildItem не работает для фильтров

-a---   6/19/2015 2:52 PM  104 Untitled1.ps1                              
-a---   6/19/2015 2:56 PM  204 Untitled2.ps1                              
-a---   6/16/2015 1:17 PM  3073 Untitled3.ps1 

я могу использовать Get-ChildItem для retrive их:

get-childitem d:\ 

Но это не удалось:

get-childitem d:\ -Force -Include *.ps1 

Эта команда ничего не показывает. Зачем? Я просто хочу отфильтровать файл .ps1. Что-то не так с моей командой?

ответ

4

В поле Включить параметр является эффективным только тогда, когда команда включает Recurse параметр или путь ведет к содержимому каталога, , такие как C: \ Windows *, где символ подстановки указывает содержимое в каталоге C: \ Windows.

Источник: https://technet.microsoft.com/en-us/library/hh849800.aspx

Вы можете использовать параметр -Filter вместо:

Get-ChildItem -Path 'd:\' -Filter '*.ps1' 

Или, если вам нужно фильтровать несколько расширений, используйте символ подстановки:

Get-ChildItem -Path 'd:\*' -Include '*.ps1', '*.bat' 
+0

Что делать, если я хочу фильтровать 2 типа файлов, «ps1» и «bat». Как написать эту команду? –

+0

Я обновил свой ответ. –