Get-Item to polecenie PowerShell zwracające obiekt reprezentujący plik lub folder wraz z jego właściwościami.
Get-Item jako dostęp do obiektu systemu plików
Get-Item jest poleceniem PowerShell służącym do pobierania elementu wskazanego przez ścieżkę. W przypadku domyślnego dostawcy systemu plików, czyli FileSystem, zwracany jest obiekt opisujący konkretny plik albo folder. Nie jest to zwykły tekst odczytany z katalogu. Obiekt zawiera dane, które można wyświetlać, filtrować, przekazywać do kolejnych poleceń i wykorzystywać w skryptach. Przykładowe wywołanie Get-Item -Path 'C:\Raporty\wynik.txt' pobiera informacje o wskazanym pliku.
Najważniejsze właściwości obiektu zależą od rodzaju elementu i dostawcy PowerShell. Dla pliku obsługiwanego przez FileSystem dostępne są między innymi Name, FullName, Length, Extension, CreationTime, LastWriteTime, LastAccessTime, Attributes oraz DirectoryName. Dla folderu można odczytać między innymi Name, FullName, Parent i Attributes. Właściwość PSIsContainer wskazuje, czy obiekt jest kontenerem, takim jak folder; dla zwykłego pliku ma wartość False.
Ścieżki, dostawcy i dokładne wskazanie elementu
Parametr -Path obsługuje wzorce wieloznaczne, takie jak * i ?. Polecenie Get-Item -Path 'C:\Raporty\*.txt' może więc zwrócić wiele pasujących elementów. Jeżeli ścieżka zawiera znaki, które PowerShell mógłby potraktować jako wzorzec, należy użyć parametru -LiteralPath. Przykład Get-Item -LiteralPath 'C:\Dane\[archiwum].txt' odwołuje się do nazwy dosłownie, bez interpretowania nawiasów kwadratowych jako składni wzorca.
Get-Item nie ogranicza się wyłącznie do dysków. PowerShell udostępnia systemy dostawców, które przedstawiają różne zasoby w postaci ścieżek. W zależności od użytego dostawcy wynik może reprezentować na przykład klucz rejestru, zmienną środowiskową albo certyfikat, a zestaw właściwości będzie inny niż dla FileInfo lub DirectoryInfo. Dlatego skrypt powinien uwzględniać typ zwracanego obiektu, zamiast zakładać, że każda ścieżka ma właściwość Length lub Extension. Typ można sprawdzić poleceniem $item.GetType().FullName, a właściwości obejrzeć przez $item | Format-List *.
Odczytywanie właściwości i praca w potoku
Samo Get-Item pobiera wskazany element, ale nie wyświetla zawartości folderu. Do przeglądania elementów znajdujących się wewnątrz katalogu służy przede wszystkim Get-ChildItem. Różnica ma znaczenie podczas diagnostyki: Get-Item -Path 'C:\Dane' zwraca obiekt folderu, natomiast Get-ChildItem -Path 'C:\Dane' wylicza jego bezpośrednie elementy. Parametr -Force pozwala uwzględnić elementy ukryte oraz systemowe, jeśli dany dostawca je obsługuje. Nie zmienia on jednak działania polecenia w operację rekursywnego przeszukiwania.
Właściwości można wybierać bezpośrednio, na przykład przez (Get-Item -LiteralPath 'C:\Dane\plik.log').LastWriteTime, albo przekazywać obiekt do dalszych poleceń. Konstrukcja Get-Item 'C:\Dane\plik.log' | Select-Object Name,Length,LastWriteTime,Attributes ogranicza wynik do wybranych pól. Warto pamiętać, że Length oznacza rozmiar pliku w bajtach, lecz dla folderu nie stanowi sumy rozmiarów jego zawartości. Polecenie może również zgłosić błąd, gdy ścieżka nie istnieje, użytkownik nie ma dostępu albo dostawca nie obsługuje wskazanego elementu. Zachowanie błędu można kontrolować parametrem -ErrorAction, na przykład -ErrorAction Stop w skrypcie, który ma przerwać działanie po nieudanym odczycie.
Get-Item w diagnostyce laptopa i komputera PC
Podczas diagnostyki problemów z systemem Windows Get-Item pomaga sprawdzić, czy wskazany plik lub folder rzeczywiście istnieje oraz jakie ma podstawowe właściwości. Przydatne może być porównanie pełnej ścieżki, rozmiaru, daty modyfikacji i atrybutów. Przykładowo $plik = Get-Item -LiteralPath 'C:\ProgramData\aplikacja\config.ini' zapisuje obiekt do zmiennej, a następnie można odczytać $plik.FullName i $plik.LastWriteTime. Takie sprawdzenie nie naprawia uszkodzonego pliku, nie analizuje jego treści i nie potwierdza poprawności działania programu; dostarcza jedynie informacji o obiekcie wskazanym przez ścieżkę.
Warszawskie Pogotowie Komputerowe zajmuje się profesjonalną naprawą laptopów, komputerów PC i ich podzespołów, a znajomość poleceń takich jak Get-Item może ułatwić uporządkowanie informacji o plikach podczas diagnozy systemu. W praktyce wynik należy interpretować razem z komunikatem błędu, uprawnieniami użytkownika, stanem dysku oraz działaniem konkretnej aplikacji. Sam fakt, że polecenie zwróciło obiekt, oznacza tylko pomyślne odnalezienie elementu przez dany mechanizm dostępu; nie dowodzi jeszcze, że plik jest kompletny, użyteczny ani wolny od uszkodzeń.