Set-Location
Ustawia bieżącą lokalizację roboczą na określoną lokalizację.
Składnia
Path (domyślnie)
Set-Location
[[-Path] <String>]
[-PassThru]
[-UseTransaction]
[<CommonParameters>]
LiteralPath
Set-Location
-LiteralPath <String>
[-PassThru]
[-UseTransaction]
[<CommonParameters>]
Stack
Set-Location
[-PassThru]
[-StackName <String>]
[-UseTransaction]
[<CommonParameters>]
Opis
Polecenie cmdlet Set-Location ustawia lokalizację roboczą na określoną lokalizację. Ta lokalizacja może być katalogiem, podkatalogem, lokalizacją rejestru lub dowolną ścieżką dostawcy.
Możesz również użyć parametru StackName, aby utworzyć nazwany stos lokalizacji jako bieżący stos lokalizacji. Aby uzyskać więcej informacji na temat stosów lokalizacji, zobacz Uwagi.
Przykłady
Przykład 1. Ustawianie bieżącej lokalizacji
PS C:\> Set-Location -Path "HKLM:\"
PS HKLM:\>
To polecenie ustawia bieżącą lokalizację na katalog główny dysku HKLM:.
Przykład 2. Ustawianie bieżącej lokalizacji i wyświetlanie tej lokalizacji
PS C:\> Set-Location -Path "Env:\" -PassThru
Path
----
Env:\
PS Env:\>
To polecenie ustawia bieżącą lokalizację na katalog główny dysku Env:. Używa parametru
Przykład 3. Ustawienie lokalizacji na bieżącą lokalizację na dysku C:
PS C:\Windows\> Set-Location HKLM:\
PS HKLM:\> Set-Location C:
PS C:\Windows\>
Pierwsze polecenie ustawia lokalizację na katalog główny dysku HKLM: w dostawcy rejestru.
Drugie polecenie ustawia lokalizację na bieżącą lokalizację dysku C: dostawcy systemu plików.
Gdy nazwa dysku jest określona w formie <DriveName>: (bez ukośnika), cmdlet ustawia lokalizację na bieżącą lokalizację w PSDrive.
Aby uzyskać bieżącą lokalizację w usłudze PSDrive, użyj polecenia Get-Location -PSDrive <DriveName>.
Przykład 4: Ustaw bieżącą lokalizację na nazwany stos
PS C:\> Push-Location -Path 'C:\Program Files\PowerShell\' -StackName "Paths"
PS C:\Program Files\PowerShell\> Set-Location -StackName "Paths"
PS C:\Program Files\PowerShell\> Get-Location -Stack
Path
----
C:\
Pierwsze polecenie dodaje bieżącą lokalizację do stosu ścieżek. Drugie polecenie powoduje, że lokalizacja Ścieżek zostaje dodana do stosu bieżącej lokalizacji. Trzecie polecenie wyświetla lokalizacje w bieżącym stosie lokalizacji.
Polecenia cmdlet *-Location używają bieżącego stosu lokalizacji, chyba że w poleceniu określono inny stos lokalizacji. Aby uzyskać informacje o stosach lokalizacji, zobacz Notatki.
Parametry
-LiteralPath
Określa ścieżkę do miejsca. Wartość parametru LiteralPath jest używana dokładnie tak, jak jest typowana. Żadne znaki nie są interpretowane jako symbole wieloznaczne. Jeśli ścieżka zawiera znaki ucieczki, należy ująć ją w pojedynczy cudzysłów. Pojedyncze cudzysłowy wskazują programowi PowerShell, aby nie interpretował żadnych znaków jako sekwencji ucieczki.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | PSPath |
Zestawy parametrów
LiteralPath
| Position: | Named |
| Obowiązkowe: | True |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-PassThru
Zwraca obiekt PathInfo reprezentujący lokalizację. Domyślnie to polecenie cmdlet nie generuje żadnych danych wyjściowych.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
-Path
Określ ścieżkę nowej lokalizacji roboczej. Jeśli nie podano żadnej ścieżki, Set-Location domyślnie ustawia się na katalog domowy bieżącego użytkownika. Gdy są używane symbole wieloznaczne, polecenie cmdlet wybiera kontener (katalog, klucz rejestru, magazyn certyfikatów), który jest zgodny ze wzorcem z symbolami wieloznacznymi. Jeśli wzorzec wieloznaczny odpowiada więcej niż jednemu kontenerowi, polecenie cmdlet zwraca błąd.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | True |
| DontShow: | False |
Zestawy parametrów
Path
| Position: | 0 |
| Obowiązkowe: | False |
| Wartość z potoku: | True |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-StackName
Określa istniejącą nazwę stosu lokalizacji, która jest ustawiana jako bieżący stos lokalizacji przez to polecenie cmdlet. Wprowadź nazwę stosu lokalizacji. Aby wskazać nienazwany domyślny stos lokalizacji, wpisz $null lub pusty ciąg ("").
Użycie tego parametru nie zmienia bieżącej lokalizacji. Zmienia tylko stos używany przez polecenia cmdlet *-Location. Polecenia cmdlet *-Location działają na bieżącym stosie, chyba że użyjesz parametru StackName, aby określić inny stos. Aby uzyskać więcej informacji na temat stosów lokalizacji, zobacz Notes.
Właściwości parametru
| Typ: | String |
| Domyślna wartość: | None |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
Zestawy parametrów
Stack
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | True |
| Wartość z pozostałych argumentów: | False |
-UseTransaction
Zawiera polecenie w aktywnej transakcji. Ten parametr jest prawidłowy tylko wtedy, gdy transakcja jest w toku. Aby uzyskać więcej informacji, zobacz about_Transactions.
Właściwości parametru
| Typ: | SwitchParameter |
| Domyślna wartość: | False |
| Obsługuje symbole wieloznaczne: | False |
| DontShow: | False |
| Aliasy: | usetx |
Zestawy parametrów
(All)
| Position: | Named |
| Obowiązkowe: | False |
| Wartość z potoku: | False |
| Wartość z potoku według nazwy właściwości: | False |
| Wartość z pozostałych argumentów: | False |
CommonParameters
To polecenie cmdlet obsługuje typowe parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction i -WarningVariable. Aby uzyskać więcej informacji, zobacz about_CommonParameters.
Dane wejściowe
String
Do tego polecenia cmdlet można przesłać ciąg tekstowy zawierający ścieżkę, ale nie literalną ścieżkę.
Dane wyjściowe
None
Domyślnie to polecenie cmdlet nie zwraca żadnych danych wyjściowych.
PathInfo
Jeśli używasz parametru
PathInfoStack
Jeśli używasz parametru PassThru z StackName, to polecenie cmdlet zwraca obiekt PathInfoStack reprezentujący nowy kontekst stosu.
Uwagi
Program Windows PowerShell zawiera następujące aliasy dla Set-Location:
cdchdirsl
Program PowerShell obsługuje wiele runspace'ów na jeden proces. Każda przestrzeń uruchomieniowa ma własny bieżący katalog.
Nie jest to samo, co [System.Environment]::CurrentDirectory. Takie zachowanie może być problemem podczas wywoływania interfejsów API platformy .NET lub uruchamiania aplikacji natywnych bez podawania jawnych ścieżek katalogu.
Nawet jeśli polecenia cmdlet dotyczące lokalizacji ustawiły bieżący katalog dla całego procesu, nie można na nim polegać, ponieważ inna przestrzeń uruchomieniowa może go zmienić w dowolnym momencie. Należy używać poleceń cmdlet lokalizacji do wykonywania operacji opartych na ścieżkach, korzystając z bieżącego katalogu roboczego specyficznego dla aktualnego runspace'u.
Polecenie cmdlet Set-Location jest zaprojektowane do pracy z danymi udostępnianymi przez dowolnego providera. Aby wyświetlić listę dostawców dostępnych w sesji, wpisz Get-PSProvider. Aby uzyskać więcej informacji, zobacz about_Providers.
Stos to lista typu "ostatni na wejściu, pierwszy na wyjściu," w której można uzyskać dostęp tylko do ostatnio dodanego elementu. Elementy są dodawane do stosu w kolejności, w której są używane, a następnie pobierane do użycia w odwrotnej kolejności. Program PowerShell umożliwia przechowywanie lokalizacji dostawców w stosach lokalizacji. Program PowerShell tworzy nienazwany domyślny stos lokalizacji. Można utworzyć wiele nazwanych stosów lokalizacji. Jeśli nie określisz nazwy stosu, program PowerShell używa bieżącego stosu lokalizacji. Domyślnie nienazwana lokalizacja domyślna to bieżący stos lokalizacji, ale możesz użyć polecenia cmdlet Set-Location, aby zmienić bieżący stos lokalizacji.
Aby zarządzać stosami lokalizacji, użyj poleceń cmdlet *-Location w następujący sposób:
Aby dodać lokalizację do stosu lokalizacji, użyj polecenia cmdlet
Push-Location.Aby uzyskać lokalizację z stosu lokalizacji, użyj polecenia cmdlet
Pop-Location.Aby wyświetlić lokalizacje w bieżącym stosie lokalizacji, użyj parametru Stack polecenia cmdlet
Get-Location. Aby wyświetlić lokalizacje w nazwanym stosie lokalizacji, użyj parametru StackNameGet-Location.Aby utworzyć nowy stos lokalizacji, użyj parametru StackName
Push-Location. Jeśli określisz stos, który nie istnieje,Push-Locationutworzy stos.Aby utworzyć stos lokalizacji w bieżącym stosie lokalizacji, użyj parametru StackName
Set-Location.
Nienazwany domyślny stos lokalizacji jest w pełni dostępny tylko wtedy, gdy jest to bieżący stos lokalizacji.
Jeśli ustawisz nazwany stos lokalizacji w bieżącym stosie lokalizacji, nie możesz już używać poleceń cmdlet Push-Location lub Pop-Location do dodawania lub pobierania elementów ze stosu domyślnego lub używania polecenia cmdlet Get-Location do wyświetlania lokalizacji w nienazwanym stosie. Aby ustawić bieżący stos bez nazwy, użyj parametru StackName polecenia cmdlet Set-Location z wartością $null lub pustym ciągiem ("").