Dela via


Hantera aktuell plats

När du navigerar i mappsystem i Utforskaren har du vanligtvis en specifik arbetsplats, nämligen den aktuella öppna mappen. Objekt i den aktuella mappen kan enkelt ändras genom att klicka på dem. För kommandoradsgränssnitt som Cmd.exe, när du är i samma mapp som en viss fil, kan du komma åt den genom att ange ett relativt kort namn i stället för att behöva ange hela sökvägen till filen. Den aktuella katalogen kallas arbetskatalogen.

PowerShell använder substantivplatsen för att referera till arbetskatalogen och implementerar en familj med cmdletar för att undersöka och ändra din plats.

Hämta din aktuella plats (Get-Location)

Ange kommandot för att fastställa sökvägen till den aktuella katalogplatsen Get-Location :

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

Kommentar

Cmdleten Get-Location liknar pwd-kommandot i BASH-gränssnittet. Cmdleten Set-Location liknar cd-kommandot i Cmd.exe.

Ange din aktuella plats (set-location)

Kommandot Get-Location används med Set-Location kommandot . Med Set-Location kommandot kan du ange din aktuella katalogplats.

Set-Location -Path C:\Windows

När du har angett kommandot ser du att du inte får någon direkt feedback om effekten av kommandot. De flesta PowerShell-kommandon som utför en åtgärd genererar små eller inga utdata eftersom utdata inte alltid är användbara. Om du vill kontrollera att en lyckad katalogändring har inträffat när du anger Set-Location kommandot tar du med parametern PassThru när du anger Set-Location kommandot:

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

Parametern PassThru kan användas med många Set-kommandon i PowerShell för att returnera information om resultatet i fall där det inte finns några standardutdata.

Du kan ange sökvägar i förhållande till din aktuella plats på samma sätt som i de flesta UNIX- och Windows-kommandogränssnitt. I standard notation för relativa sökvägar representerar en period (.) din aktuella mapp och en dubblerad period (..) representerar den överordnade katalogen för din aktuella plats.

Om du till exempel är i C:\Windows mappen representerar C:\Windows C:en punkt (.) och dubbla perioder (..) . Du kan ändra från din aktuella plats till roten på C: enheten genom att skriva:

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

Samma teknik fungerar på PowerShell-enheter som inte är filsystemenheter, till exempel HKLM:. Du kan ange din plats till HKLM\Software nyckeln i registret genom att skriva:

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

Du kan sedan ändra katalogplatsen till den överordnade katalogen med hjälp av en relativ sökväg:

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

Du kan skriva Set-Location eller använda något av de inbyggda PowerShell-aliasen för Set-Location (cd, chdir, sl). Till exempel:

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

Spara och återkalla de senaste platserna (push-plats och pop-location)

När du byter plats är det bra att hålla reda på var du har varit och att kunna återgå till din tidigare plats. Cmdleten Push-Location i PowerShell skapar en ordnad historik (en "stack") med katalogsökvägar där du har varit, och du kan gå tillbaka genom historiken för katalogsökvägar med hjälp av cmdleten Pop-Location .

PowerShell startar till exempel vanligtvis i användarens hemkatalog.

Get-Location

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

Kommentar

Ordstacken har en särskild betydelse i många programmeringsinställningar, inklusive .NET Framework. Precis som en fysisk stack med objekt är det sista objektet som du lägger till stacken det första objektet som du kan dra av stacken. Att lägga till ett objekt i en stack kallas i vardagligt tal för att "skicka" objektet till stacken. Att dra bort ett objekt från stacken kallas i vardagligt tal för att "poppa" objektet från stacken.

Om du vill push-överföra den aktuella platsen till stacken och sedan gå till mappen Lokal Inställningar skriver du:

Push-Location -Path "Local Settings"

Du kan sedan skicka platsen Lokal Inställningar till stacken och flytta till mappen Temp genom att skriva:

Push-Location -Path Temp

Du kan kontrollera att du har ändrat kataloger genom att ange kommandot Get-Location :

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

Du kan sedan gå tillbaka till den senast besökta katalogen genom att ange Pop-Location kommandot och verifiera ändringen genom att ange Get-Location kommandot:

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

Precis som med cmdleten Set-Location kan du inkludera parametern PassThru när du anger cmdleten Pop-Location för att visa katalogen som du angav:

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

Du kan också använda plats-cmdletar med nätverkssökvägar. Om du har en server med namnet FS01 med en resurs med namnet Offentlig kan du ändra din plats genom att skriva

Set-Location \\FS01\Public

eller

Push-Location \\FS01\Public

Du kan använda kommandona Push-Location och Set-Location för att ändra platsen till valfri tillgänglig enhet. Om du till exempel har en lokal CD-ROM-enhet med enhetsbeteckningen D som innehåller en data-CD kan du ändra platsen till CD-enheten genom att ange Set-Location D: kommandot .

Om enheten är tom visas följande felmeddelande:

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

När du använder ett kommandoradsgränssnitt är det inte praktiskt att använda Utforskaren för att undersöka tillgängliga fysiska enheter. Dessutom skulle Utforskaren inte visa dig alla PowerShell-enheter. PowerShell innehåller en uppsättning kommandon för att manipulera PowerShell-enheter.