Get-ChildItem (odpowiednik ls/dir) to polecenie PowerShell wyświetlające zawartość folderu, z parametrem -Recurse obejmujące też podkatalogi.
Get-ChildItem – zawartość folderu w PowerShell
Get-ChildItem to polecenie środowiska PowerShell służące do odczytywania listy elementów znajdujących się w określonej lokalizacji. Może zwracać zarówno pliki, jak i katalogi, a wynik jest prezentowany jako zestaw obiektów zawierających między innymi nazwę, typ elementu, ścieżkę oraz informacje o czasie modyfikacji. Polecenie jest często używane do szybkiego sprawdzania struktury dysku, odnajdywania plików według określonych kryteriów i przygotowywania dalszych operacji administracyjnych.
Uruchomienie samego Get-ChildItem powoduje wyświetlenie elementów bieżącej lokalizacji. Ścieżkę można wskazać jawnie, na przykład za pomocą parametru -Path:
Get-ChildItem -Path "C:\Dokumenty"
W PowerShell dostępne są również krótsze aliasy tego polecenia, takie jak ls oraz dir. Są przydatne podczas pracy interaktywnej, jednak w skryptach czytelniejsza pełna nazwa Get-ChildItem ułatwia zrozumienie przeznaczenia instrukcji.
Praca z podkatalogami, filtrami i właściwościami
Domyślnie wynik obejmuje elementy znajdujące się bezpośrednio w wybranym folderze. Do przeglądania całej struktury wraz z kolejnymi poziomami podkatalogów służy parametr -Recurse:
Get-ChildItem -Path "C:\Dane" -Recurse
Zakres wyniku można ograniczyć za pomocą parametrów -File i -Directory. Pierwszy zwraca wyłącznie pliki, a drugi same foldery. Przydatny jest także -Filter, który pozwala wyszukać elementy według wzorca nazwy:
Get-ChildItem -Path "C:\Dane" -File -Filter "*.log"
W razie potrzeby można korzystać z właściwości obiektów zwracanych przez polecenie. Przykładowo, aby wyświetlić tylko nazwy i rozmiary plików, wynik można przekazać do Select-Object:
Get-ChildItem -Path "C:\Dane" -File | Select-Object Name, Length
To obiektowy charakter PowerShell odróżnia Get-ChildItem od prostych poleceń wyświetlających tekst. Dane można sortować, filtrować i przekazywać do kolejnych cmdletów bez konieczności ręcznego analizowania całego ekranu.
Typowe problemy przy używaniu Get-ChildItem
Jednym z częstszych błędów jest podanie nieistniejącej ścieżki albo pominięcie cudzysłowu przy nazwie zawierającej spacje. Bezpieczniej jest zapisać pełną lokalizację w cudzysłowie:
Get-ChildItem -Path "C:\Pliki użytkownika\Raporty"
Brak wyników nie zawsze oznacza, że folder jest pusty. Elementy mogą być ukryte lub oznaczone jako systemowe, dlatego w takich przypadkach stosuje się parametr -Force:
Get-ChildItem -Path "C:\Dane" -Force
Problemy mogą pojawić się również przy przechodzeniu przez katalogi, do których bieżące konto nie ma dostępu. Przy użyciu -Recurse PowerShell może wtedy zgłaszać ostrzeżenia albo pomijać niedostępne lokalizacje. Warto zweryfikować uprawnienia, uruchomić powłokę z odpowiednim poziomem dostępu lub ograniczyć zakres wyszukiwania do znanego folderu.
Nieostrożne połączenie -Recurse z dużą lokalizacją, na przykład całym dyskiem, może wygenerować bardzo obszerny wynik i długo obciążać system. Przy diagnostyce lepiej zawężać ścieżkę, stosować filtry oraz wybierać tylko potrzebne właściwości.
Kiedy trzeba zgłosić sprzęt do serwisu - Get-ChildItem – zawartość folderu (ls
Samodzielne użycie Get-ChildItem jest wystarczające do prostego sprawdzenia zawartości katalogu, lecz nie rozwiązuje problemów z uszkodzonym profilem użytkownika, błędami dysku, utratą dostępu do danych ani nieprawidłowym działaniem systemu PowerShell. Jeżeli polecenie zwraca błędy mimo poprawnej ścieżki, foldery znikają z widoku, system nie odczytuje nośnika albo wyszukiwanie zatrzymuje się na określonych katalogach, potrzebna może być szersza diagnostyka komputera.
W takich sytuacjach można skorzystać z pomocy Warszawskiego Pogotowia Komputerowego 24/7, gdzie analizuje się zarówno przyczynę problemu z systemem, jak i stan sprzętu wpływający na dostęp do plików. Przed wykonaniem naprawy warto zabezpieczyć ważne dane i nie uruchamiać przypadkowych poleceń modyfikujących zawartość dysku.