Jak działa parametr Get-ChildItem -Exclude? Jakie zasady to stosuje?Jak działa parametr Get-ChildItem -Exclude Parameter?
Get-Help dla Get-ChildItem nie jest szczegółowo w ogóle:
pomija określone elementy. Wartość tego parametru kwalifikuje parametr ścieżki . Wprowadź element ścieżki lub wzorzec, na przykład "* .txt". Symbole wieloznaczne są dozwolone.
A na Stackoverflow i gdzie indziej ogólny konsensus wydaje się być zbyt trudny w użyciu i wszyscy powinniśmy po prostu wypróbować wyjście Get-ChildItem do Where-Object zamiast tego.
Podczas gdy jestem chętny do użycia Where-Object, jestem ciekawy co do zasad - Exclude to follow.
Na przykład, mam folder z następujących podfolderów:
HsacFixtures
HsacFixturesBuild
RestFixture
RestFixtureBuild
Gdybym wykonać następujące polecenie:
Get-ChildItem $rootFolderPath -Exclude HsacFixturesBuild -Directory
zwraca oczekiwane wyniki:
HsacFixtures
RestFixture
RestFixtureBuild
Jeśli jednak dodaję parametr -Recurse:
Get-ChildItem $rootFolderPath -Exclude HsacFixturesBuild -Directory -Recurse
Następnie zwraca podfoldery w folderze HsacFixturesBuild.
Próbowałem również HsacFixturesBuild\
i HsacFixturesBuild\*
, które mają takie same wyniki.
Czy wyłączenie dotyczy tylko bezpośrednich dzieci, a nie grand-children lub głębszych podfolderów?
get-help Get-ChildItem -full, ma przykłady i szczegóły. –
@KoryGill: Dzięki, ale już sprawdziłem help -full. Jest tylko jeden przykład z -Exclude, a opis parametru jest bardzo krótki (patrz cytat w moim pytaniu). Nie wystarczyło zrozumieć zasady, na których działa. –
@SimonTewsi, Wyklucz filtry na nazwie obiektu.Więc nawet jeśli obiekt jest wnukiem, wykluczenie patrzy tylko na nazwę obiektu, a nie na ścieżkę. – Nkosi