Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa

Darmowa diagnoza laptopa

Dojazd do klienta bezpłatnie

Dojazd do klienta bezpłatnie

Laptopy zastępcze bezpłatnie

Laptopy zastępcze bezpłatnie

Odbiór i zwrot sprzętu bezpłatnie

Odbiór i zwrot sprzętu bezpłatnie

Get-Location – bieżący katalog

Termin Definicja
Get-Location – bieżący katalog

Get-Location to polecenie PowerShell zwracające bieżący katalog roboczy — odpowiednik polecenia pwd w innych powłokach.

Get-Location – czym jest bieżący katalog w PowerShell

Get-Location służy do sprawdzenia miejsca, w którym aktualnie pracuje sesja PowerShell. Bieżący katalog można rozumieć jako domyślny punkt odniesienia dla poleceń operujących na plikach i folderach. Jeżeli zostanie użyta nazwa pliku bez pełnej ścieżki, PowerShell zazwyczaj szuka go właśnie w tym miejscu. To samo dotyczy tworzenia nowych elementów, odczytywania zawartości katalogu, uruchamiania skryptów oraz zapisywania wyników poleceń.

Po wpisaniu Get-Location wyświetlany jest obiekt opisujący aktualną lokalizację. W typowej sesji widoczna jest ścieżka wskazująca dysk oraz kolejne foldery, na przykład katalog profilu użytkownika albo folder projektu. Wynik nie jest wyłącznie tekstem przeznaczonym do wyświetlenia. PowerShell zwraca obiekt, który można przypisać do zmiennej, przekazać do innego polecenia lub wykorzystać w warunku.

Najprostsze użycie wygląda następująco:

  • Get-Location – pokazuje aktualną lokalizację sesji;
  • $miejsce = Get-Location – zapisuje wynik do zmiennej;
  • Get-Location | Format-List * – pozwala obejrzeć właściwości zwróconego obiektu;
  • (Get-Location).Path – pobiera samą ścieżkę w postaci tekstu.

W praktyce polecenie przydaje się przede wszystkim wtedy, gdy nie jest jasne, z którego folderu wykonywana jest operacja. Ma to znaczenie podczas pracy z kilkoma oknami terminala, uruchamiania skryptów z różnych miejsc oraz analizowania poleceń zapisanych wcześniej w pliku. Krótkie sprawdzenie lokalizacji może wyjaśnić, dlaczego plik nie został znaleziony albo dlaczego wynik pojawił się w innym folderze, niż zakładano.

Get-Location a bieżący katalog i ścieżki względne

W PowerShell występują ścieżki bezwzględne i względne. Ścieżka bezwzględna określa pełne położenie elementu, natomiast ścieżka względna opisuje jego położenie względem bieżącego katalogu. Przykład .\raport.txt wskazuje plik raport.txt w aktualnym miejscu, a zapis .\dane\wynik.csv odnosi się do podfolderu dane. Znak kropki oznacza bieżący katalog, a dwie kropki, czyli .., pozwalają przejść poziom wyżej.

Get-Location warto porównywać z poleceniami zmieniającymi położenie. Set-Location, często używane również w skróconej formie cd lub sl, ustawia nowy bieżący katalog. Po zmianie dobrze jest ponownie wykonać Get-Location, aby potwierdzić rezultat. Z kolei Push-Location zapisuje dotychczasowe miejsce na stosie i przechodzi do wskazanego folderu, a Pop-Location przywraca wcześniej zapisaną lokalizację.

Przykładowy ciąg poleceń może wyglądać tak:

  • Get-Location – sprawdzenie punktu wyjścia;
  • Set-Location .\Dokumenty – przejście do folderu Dokumenty znajdującego się niżej;
  • Get-Location – potwierdzenie nowej lokalizacji;
  • Set-Location .. – powrót do folderu nadrzędnego.

Ważna różnica między PowerShell a klasycznym wierszem polecenia polega na tym, że lokalizacja jest traktowana jako element środowiska sesji, a nie tylko jako tekst wyświetlany na ekranie. PowerShell może obsługiwać różne dostawcy lokalizacji. Oprócz systemu plików mogą to być między innymi lokalizacje związane z konfiguracją systemu lub magazynem certyfikatów. Z tego powodu Get-Location nie musi zawsze zwracać ścieżki do zwykłego folderu na dysku.

Get-Location – typowe problemy z bieżącym katalogiem

Jednym z częstych problemów jest założenie, że wszystkie okna PowerShell rozpoczynają pracę w tym samym miejscu. Lokalizacja zależy od sposobu uruchomienia terminala, ustawień profilu, skrótu programu oraz tego, czy sesja została otwarta z poziomu określonego folderu. Dwa okna mogą więc wykonywać identyczne polecenie, ale korzystać z różnych plików, ponieważ każde ma własny bieżący katalog.

Inna sytuacja występuje podczas uruchamiania skryptu. Bieżący katalog sesji nie zawsze jest tym samym miejscem co folder, w którym znajduje się plik skryptu. Odwołanie względne do .\config.json może wtedy wskazywać katalog uruchomieniowy, a nie folder skryptu. Przed użyciem ścieżek względnych warto sprawdzić wynik Get-Location oraz jawnie określić lokalizację, jeśli skrypt ma działać powtarzalnie.

Problemy mogą pojawić się również przy przełączaniu dysków. W PowerShell lokalizacje poszczególnych dysków są przechowywane niezależnie. Po przejściu z jednego dysku na drugi można zobaczyć inną ścieżkę niż ta zapamiętana w poprzedniej części pracy. Polecenie Get-Location pomaga ustalić, gdzie znajduje się aktualna sesja, a zapis z prefiksem dysku, na przykład D:, pozwala odwołać się do odpowiedniej lokalizacji.

Warto zwrócić uwagę na błędy wynikające z odstępów w nazwach folderów. Ścieżki zawierające spacje należy ujmować w cudzysłowy, na przykład Set-Location "C:\Folder roboczy". Jeżeli ścieżka pochodzi z wyniku Get-Location, można korzystać z właściwości Path, pamiętając o prawidłowym przekazaniu jej do kolejnego polecenia. Przy diagnostyce dobrze jest też odróżnić brak pliku od pracy w niewłaściwym katalogu, ponieważ oba przypadki mogą wyglądać podobnie.

Get-Location w codziennej pracy i praktyczne wskazówki

Przy pracy z plikami rozsądne jest rozpoczynanie zadania od sprawdzenia bieżącego katalogu. Następnie można wyświetlić jego zawartość za pomocą Get-ChildItem, sprawdzić wybrany element i dopiero potem wykonywać operacje modyfikujące. Taki porządek ogranicza ryzyko zapisania danych w przypadkowym folderze. Przy poleceniach usuwających, przenoszących lub nadpisujących pliki szczególnie istotne jest upewnienie się, że lokalizacja jest właściwa.

Wynik Get-Location można wykorzystać w konstrukcjach skryptowych. Przykładowo:

  • $sciezka = (Get-Location).Path – przechowuje bieżącą ścieżkę tekstową;
  • Join-Path (Get-Location) "wyniki" – tworzy ścieżkę do podfolderu wyniki;
  • Test-Path (Get-Location) – sprawdza, czy wskazana lokalizacja jest dostępna;
  • Resolve-Path .\plik.txt – rozwija ścieżkę względną do pełnej postaci, jeżeli element istnieje.

Do skryptów warto przekazywać ścieżki jawnie, zamiast opierać całe działanie na niezmiennym założeniu o bieżącym katalogu. Jeżeli jednak użycie ścieżek względnych jest celowe, na początku skryptu można sprawdzić lokalizację i wyświetlić komunikat diagnostyczny. Przydatne bywa także rozdzielenie folderu wejściowego, roboczego i wynikowego. Dzięki temu łatwiej ustalić, gdzie znajdują się materiały źródłowe oraz gdzie zapisano rezultat.

Get-Location można stosować również w potoku, gdy polecenie zwracające lokalizację ma zostać połączone z inną operacją. W takich przypadkach trzeba pamiętać, że kolejne polecenie może oczekiwać obiektu lokalizacji albo tekstu ścieżki. W razie wątpliwości pomocne są właściwości Path oraz Provider. Pierwsza wskazuje ścieżkę, druga informuje, z jakiego rodzaju dostawcą lokalizacji ma się do czynienia.

Get-Location i bieżący katalog – kiedy zgłosić się do serwisu

Jeżeli Get-Location zwraca nieoczekiwaną lokalizację, samo polecenie zwykle działa prawidłowo, a przyczyny należy szukać w sposobie uruchamiania PowerShell, profilu użytkownika, skrócie aplikacji albo skrypcie zmieniającym położenie. Pomoc techniczna może być potrzebna wtedy, gdy problem powtarza się po każdym uruchomieniu, ścieżki znikają, dysk nie jest dostępny, foldery zgłaszają brak uprawnień lub system nieprawidłowo odczytuje zawartość nośnika.

W przypadku trudności sprzętowych lub systemowych można skorzystać z pomocy Warszawskiego Pogotowia Komputerowego 24/7; naprawy są z reguły realizowane do 3 dni roboczych. Przed przekazaniem urządzenia warto zanotować dokładną treść komunikatu, polecenia wykonywane przed wystąpieniem problemu oraz wynik Get-Location. Takie informacje ułatwiają odtworzenie sytuacji i odróżnienie błędu ścieżki od problemu z kontem użytkownika, systemem plików albo działaniem samej powłoki.

Podczas zgłoszenia przydatne może być również wskazanie, czy kłopot dotyczy jednego okna PowerShell, wszystkich sesji, konkretnego skryptu czy określonego dysku. Należy unikać pochopnego przenoszenia lub usuwania plików w celu sprawdzenia działania. Najpierw warto zabezpieczyć ważne dane, ustalić bieżący katalog, rozpoznać uprawnienia i dopiero potem wykonywać kolejne kroki diagnostyczne. Dzięki temu polecenie Get-Location staje się prostym, ale skutecznym punktem wyjścia do uporządkowania pracy z plikami i ścieżkami.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę