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 runspace na proces. Każdy obszar uruchamiania ma własny bieżący katalog. Nie jest to samo, co bieżący katalog procesu programu PowerShell: [System.Environment]::CurrentDirectory
.
Możesz na przykład ustawić bieżącą lokalizację roboczą na następującą lokalizację:
Set-Location 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 HKLM:
dysk:
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 przy użyciu C:
dysku, 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żesz użyć Get-Location
polecenia , aby określić bieżącą lokalizację roboczą i użyć Set-Location
polecenia , aby ustawić bieżącą lokalizację roboczą. Na przykład następujące polecenie ustawia bieżącą lokalizację roboczą na Windows
katalog C:
dysku:
Set-Location C:\Windows
Po ustawieniu bieżącej lokalizacji roboczej można nadal uzyskiwać dostęp do elementów z innych dysków, dołączając nazwę dysku (po którym następuje dwukropek) w poleceniu, jak pokazano w poniższym przykładzie:
Get-ChildItem HKLM:\software
Przykładowe polecenie pobiera listę elementów w kontenerze HKEY_LOCAL_MACHINE
Oprogramowania gałęzi 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 System
podkatalog 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 takim 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 odwrotnym (\
) 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 odwrotnego (\
) lub kropki (.
) podczas podawania nazwy kontenera lub elementu, zakłada się, że kontener lub element znajdują 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 zwraca szczegóły dotyczące tego pliku (przy założeniu, że plik znajduje się w bieżącej lokalizacji roboczej).