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.