Zarządzanie bieżącą lokalizacją

Podczas nawigowania po systemach folderów w Eksplorator plików zwykle masz określoną lokalizację roboczą — a mianowicie bieżący otwarty folder. Elementy w bieżącym folderze można łatwo manipulować, klikając je. W przypadku interfejsów wiersza polecenia, takich jak Cmd.exe, gdy jesteś w tym samym folderze co określony plik, możesz uzyskać do niego dostęp, określając stosunkowo krótką nazwę, zamiast określać całą ścieżkę do pliku. Bieżący katalog jest nazywany katalogem roboczym.

Program PowerShell używa rzeczownika Location do odwoływania się do katalogu roboczego i implementuje rodzinę poleceń cmdlet do badania lokalizacji i manipulowania nią.

Pobieranie bieżącej lokalizacji (Get-Location)

Aby określić ścieżkę bieżącej lokalizacji katalogu, wprowadź Get-Location polecenie:

Get-Location
Path
----
C:\Documents and Settings\PowerUser

Uwaga

Polecenie Get-Location cmdlet jest podobne do polecenia pwd w powłoce BASH. Polecenie Set-Location cmdlet jest podobne do polecenia cd w Cmd.exe.

Ustawianie bieżącej lokalizacji (Set-Location)

Polecenie Get-Location jest używane z poleceniem Set-Location . Polecenie Set-Location umożliwia określenie bieżącej lokalizacji katalogu.

Set-Location -Path C:\Windows

Po wprowadzeniu polecenia zwróć uwagę, że nie otrzymasz żadnych bezpośrednich opinii na temat efektu polecenia. Większość poleceń programu PowerShell wykonujących akcję generuje niewiele danych wyjściowych, ponieważ dane wyjściowe nie zawsze są przydatne. Aby sprawdzić, czy po wprowadzeniu Set-Location polecenia wystąpiła pomyślna zmiana katalogu, dołącz parametr PassThru po wprowadzeniu Set-Location polecenia:

Set-Location -Path C:\Windows -PassThru
Path
----
C:\WINDOWS

Parametr PassThru może być używany z wieloma poleceniami Set w programie PowerShell, aby zwrócić informacje o wyniku w przypadkach, w których nie ma domyślnych danych wyjściowych.

Ścieżki względem bieżącej lokalizacji można określić w taki sam sposób, jak w większości system UNIX i powłokach poleceń systemu Windows. W standardowej notacji dla ścieżek względnych kropka (.) reprezentuje bieżący folder, a dwukrotny kropka (..) reprezentuje katalog nadrzędny bieżącej lokalizacji.

Jeśli na przykład jesteś w folderzeC:\Windows, kropka (.) reprezentuje C:\Windows i podwójne kropki (..) reprezentują .C: Możesz zmienić lokalizację z bieżącej C: lokalizacji na katalog główny dysku, wpisując:

Set-Location -Path .. -PassThru
Path
----
C:\

Ta sama technika działa na dyskach programu PowerShell, które nie są dyskami systemu plików, takimi jak HKLM:. Lokalizację możesz ustawić na HKLM\Software klucz w rejestrze, wpisując:

Set-Location -Path HKLM:\SOFTWARE -PassThru
Path
----
HKLM:\SOFTWARE

Następnie możesz zmienić lokalizację katalogu na katalog nadrzędny przy użyciu ścieżki względnej:

Set-Location -Path .. -PassThru
Path
----
HKLM:\

Możesz wpisać Set-Location lub użyć dowolnego wbudowanego aliasu programu PowerShell dla Set-Location programu (cd, chdir, sl). Na przykład:

cd -Path C:\Windows
chdir -Path .. -PassThru
sl -Path HKLM:\SOFTWARE -PassThru

Zapisywanie i przywoływanie ostatnio używanych lokalizacji (lokalizacja wypychana i lokalizacja podręczna)

Podczas zmieniania lokalizacji warto śledzić, gdzie byłeś i móc wrócić do poprzedniej lokalizacji. Polecenie Push-Location cmdlet w programie PowerShell tworzy uporządkowaną historię (stos) ścieżek katalogu, w których były, i można przejść wstecz przez historię ścieżek katalogu przy użyciu Pop-Location polecenia cmdlet .

Na przykład program PowerShell zwykle uruchamia się w katalogu głównym użytkownika.

Get-Location

Path
----
C:\Documents and Settings\PowerUser

Uwaga

Stos słów ma specjalne znaczenie w wielu ustawieniach programowania, w tym .NET Framework. Podobnie jak fizyczny stos elementów, ostatni element umieszczony na stosie jest pierwszym elementem, który można ściągnąć ze stosu. Dodawanie elementu do stosu jest potocznie znane jako "wypychanie" elementu do stosu. Ściąganie elementu ze stosu jest potocznie znane jako "popping" elementu z stosu.

Aby wypchnąć bieżącą lokalizację do stosu, a następnie przejść do folderu Local Ustawienia, wpisz:

Push-Location -Path "Local Settings"

Następnie możesz wypchnąć lokalizację Ustawienia lokalną do stosu i przejść do folderu Temp, wpisując:

Push-Location -Path Temp

Możesz sprawdzić, czy zmieniono katalogi, wprowadzając Get-Location polecenie:

Get-Location
Path
----
C:\Documents and Settings\PowerUser\Local Settings\Temp

Następnie możesz ponownie przejść do ostatnio odwiedzonego katalogu, wprowadzając Pop-Location polecenie i sprawdzając zmianę Get-Location , wprowadzając polecenie:

Pop-Location
Get-Location
Path
----
C:\Documents and Settings\me\Local Settings

Podobnie jak w przypadku Set-Location polecenia cmdlet, można dołączyć parametr PassThru podczas wprowadzania Pop-Location polecenia cmdlet w celu wyświetlenia wprowadzonego katalogu:

Pop-Location -PassThru
Path
----
C:\Documents and Settings\PowerUser

Możesz również użyć poleceń cmdlet Lokalizacja ze ścieżkami sieciowymi. Jeśli masz serwer o nazwie FS01 z udziałem o nazwie Public, możesz zmienić lokalizację, wpisując

Set-Location \\FS01\Public

lub

Push-Location \\FS01\Public

Polecenia i Set-Location umożliwiają Push-Location zmianę lokalizacji na dowolny dostępny dysk. Jeśli na przykład masz lokalny dysk CD-ROM z literą dysku D zawierającą dysk CD danych, możesz zmienić lokalizację na dysk CD, wprowadzając Set-Location D: polecenie .

Jeśli dysk jest pusty, zostanie wyświetlony następujący komunikat o błędzie:

Set-Location D:
Set-Location : Cannot find path 'D:\' because it does not exist.

Jeśli używasz interfejsu wiersza polecenia, nie jest wygodne używanie Eksplorator plików do zbadania dostępnych dysków fizycznych. Ponadto Eksplorator plików nie wyświetli wszystkich dysków programu PowerShell. Program PowerShell udostępnia zestaw poleceń do manipulowania dyskami programu PowerShell.