Udostępnij za pośrednictwem


about_Locations

Krótki opis

Opisuje sposób uzyskiwania dostępu do elementów z lokalizacji roboczej w programie PowerShell.

Długi opis

Bieżąca lokalizacja robocza to domyślna lokalizacja, do której wskazują polecenia. Innymi słowy, jest to lokalizacja używana przez program PowerShell, jeśli nie podasz jawnej ścieżki do elementu lub lokalizacji, której dotyczy to polecenie.

Uwaga

Program PowerShell obsługuje wiele obszarów działania na proces. Każdy obszar działania ma własny bieżący katalog. Nie jest to samo, co bieżący katalog procesu: [System.Environment]::CurrentDirectory.

W większości przypadków bieżąca lokalizacja robocza to dysk dostępny za pośrednictwem dostawcy systemu plików programu PowerShell, a w niektórych przypadkach katalog na tym dysku. Możesz na przykład ustawić bieżącą lokalizację roboczą na następującą lokalizację:

C:\Program Files\Windows PowerShell

W związku z tym wszystkie polecenia są przetwarzane z tej lokalizacji, chyba że zostanie jawnie podana inna ścieżka.

Program PowerShell utrzymuje bieżącą lokalizację roboczą dla każdego dysku nawet wtedy, gdy dysk nie jest bieżącym dyskiem. Dzięki temu można uzyskiwać dostęp do elementów z bieżącej lokalizacji roboczej, odwołując się tylko do dysku innej lokalizacji. Załóżmy na przykład, że bieżąca lokalizacja robocza to C:\Windows. Teraz załóżmy, że użyjesz następującego polecenia, aby zmienić bieżącą lokalizację roboczą na dysk HKLM:

Set-Location HKLM:

Mimo że bieżąca lokalizacja jest teraz dyskiem rejestru, nadal można uzyskać dostęp do elementów w C:\Windows katalogu po prostu przy użyciu dysku C: , jak pokazano w poniższym przykładzie:

Get-ChildItem C:

Program PowerShell pamięta, że bieżąca lokalizacja robocza dla tego dysku to katalog systemu Windows, więc pobiera elementy z tego katalogu. Wyniki będą takie same, jeśli uruchomiono następujące polecenie:

Get-ChildItem C:\Windows

W programie PowerShell można użyć polecenia Get-Location, aby określić bieżącą lokalizację roboczą, a następnie użyć polecenia Set-Location, aby ustawić bieżącą lokalizację roboczą. Na przykład następujące polecenie ustawia bieżącą lokalizację roboczą na katalog systemu Windows dysku C:

Set-Location c:\windows

Po ustawieniu bieżącej lokalizacji roboczej można nadal uzyskiwać dostęp do elementów z innych dysków, po prostu uwzględniając nazwę dysku (a następnie dwukropek) w poleceniu, jak pokazano w poniższym przykładzie:

Get-ChildItem HKLM:\software

Przykładowe polecenie pobiera listę elementów w kontenerze Software gałęzi HKEY Local Machine w rejestrze.

Program PowerShell umożliwia również używanie znaków specjalnych do reprezentowania bieżącej lokalizacji roboczej i jej lokalizacji nadrzędnej. Aby reprezentować bieżącą lokalizację roboczą, użyj pojedynczego okresu. Aby reprezentować element nadrzędny bieżącej lokalizacji roboczej, użyj dwóch okresów. Na przykład następujące polecenie określa podkatalog System w bieżącej lokalizacji roboczej:

Get-ChildItem .\system

Jeśli bieżąca lokalizacja robocza to C:\Windows, to polecenie zwraca listę wszystkich elementów w elemencie C:\Windows\System. Jeśli jednak używasz dwóch okresów, używany jest katalog nadrzędny bieżącego katalogu roboczego, jak pokazano w poniższym przykładzie:

Get-ChildItem ..\"program files"

W tym przypadku program PowerShell traktuje dwa okresy jako dysk C:, więc polecenie pobiera wszystkie elementy w C:\Program Files katalogu.

Ścieżka rozpoczynająca się ukośnikiem identyfikuje ścieżkę z katalogu głównego bieżącego dysku. Jeśli na przykład bieżąca lokalizacja robocza to C:\Program Files\PowerShell, katalog główny dysku to C. W związku z tym następujące polecenie wyświetla listę wszystkich elementów w C:\Windows katalogu:

Get-ChildItem \windows

Jeśli nie określisz ścieżki rozpoczynającej się od nazwy dysku, ukośnika lub kropki podczas podawania nazwy kontenera lub elementu, zakłada się, że kontener lub element znajduje się w bieżącej lokalizacji roboczej. Jeśli na przykład bieżąca lokalizacja robocza to C:\Windows, następujące polecenie zwraca wszystkie elementy w C:\Windows\System katalogu:

Get-ChildItem system

Jeśli określisz nazwę pliku, a nie nazwę katalogu, program PowerShell zwróci szczegółowe informacje o tym pliku (przy założeniu, że plik znajduje się w bieżącej lokalizacji roboczej).

Zobacz też