Wyszukiwanie plików – PowerShell

Wyszukiwanie plików – PowerShell

W dzisiejszym wpisie pokażę wam jak posłużyć sie PowerShellem w celu wyszukiwania plików. W następnym wpisie pokażę jak przeszukiwać zawartość plików w celu wyszukania konkretnej frazy.

Posłużymy się tutaj poleceniem Get-ChildItem, lub jak ktoś woli na skróty to gci. Ogólnie mówiąc ten cmdlet służy do listowania obiektów wewnątrz podanej lokalizacji. Tą lokalizacją może być system plików czy rejestr.

Najprostszym przykładem wykorzystania Get-ChildItem będzie:

get-childitem

Ta komenda wylistuje nam wszystkie pliki znajdujące się bezpośrednio w folderze temp. Jeśli zależy nam aby przeszukać też foldery znajdujące się wewnątrz aktualnego folderu wystarczy dodać parametr -Recurse. Używając jednak wyszukiwania rekursywnego należy się spodziewać, że w którymś z folderów będziemy mieli zbyt małe uprawnienia i wtedy zamiast listy plików otrzymamy błąd. Aby tego uniknąć wystarczy dodać parametr obsługujący błędy. Całość polecenia będzie wyglądała tak:

Uruchamiając to polecenie, w przypadku gdy pojawi się problem, skrypt nie wygeneruje wiadomości z błędem i będzie kontynuował działanie.

A jak zatem wyszukać pliki o konkretnej nazwie czy z konkretnym rozszerzeniem ?

get-childitem -filter
get-childitem -filter

Jeśli dodamy parametr -Recurse to przeszukamy wszystkie foldery wewnątrz folderu w którym jesteśmy aktualnie.

Mamy też możliwość użycia parametrów -Include oraz -Exclude. Include działa podobnie jak -Filter.

Zgodnie z dokumentacją jeśli nie dodamy * w parametrze -Path tak jak w przykładzie lub gdy parametr wskazuje na konkretną ścieżkę: -Path C:\Temp\* komenda nie wyświetli żadnych wyników. Jeśli używamy parametry -Recurse wtedy * jest opcjonalna.

get-childitem -include

Teraz pokażę jak filtrować wyniki wyłączając pewne pliki z wyników wyszukiwania. Na początek wyszukamy pliki ale tak aby w wynikach nie były uwzględnione pliki txt.

get-childitem -exclude

Poniżej przedstawię również jak odfiltrować pliki zaczynające się na literę „t”.

get-childitem -exclude

Tak jak wspominałem wyżej, Get-ChildItem można również użyć do przeszukiwania rejestru.

Comments

No comments yet. Why don’t you start the discussion?

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *