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.