Huidige locatie beheren
Wanneer u door mapsystemen in Bestandenverkenner navigeert, hebt u meestal een specifieke werklocatie, namelijk de huidige geopende map. Items in de huidige map kunnen eenvoudig worden bewerkt door erop te klikken. Voor opdrachtregelinterfaces, zoals Cmd.exe, kunt u het openen wanneer u zich in dezelfde map bevindt als een bepaald bestand door een relatief korte naam op te geven in plaats van het hele pad naar het bestand op te geven. De huidige map wordt de werkmap genoemd.
PowerShell gebruikt het zelfstandig naamwoord Locatie om te verwijzen naar de werkmap en implementeert een reeks cmdlets om uw locatie te onderzoeken en te bewerken.
Uw huidige locatie ophalen (Get-Location)
Voer de Get-Location
opdracht in om het pad van uw huidige maplocatie te bepalen:
Get-Location
Path
----
C:\Documents and Settings\PowerUser
Notitie
De Get-Location
cmdlet is vergelijkbaar met de pwd-opdracht in de BASH-shell. De Set-Location
cmdlet is vergelijkbaar met de cd-opdracht in Cmd.exe.
Uw huidige locatie instellen (set-location)
De Get-Location
opdracht wordt gebruikt met de Set-Location
opdracht. Met de Set-Location
opdracht kunt u uw huidige maplocatie opgeven.
Set-Location -Path C:\Windows
Nadat u de opdracht hebt ingevoerd, ziet u dat u geen directe feedback ontvangt over het effect van de opdracht. De meeste PowerShell-opdrachten die een actie uitvoeren, produceren weinig of geen uitvoer omdat de uitvoer niet altijd nuttig is. Als u wilt controleren of er een geslaagde mapwijziging is opgetreden wanneer u de Set-Location
opdracht invoert, neemt u de parameter PassThru op wanneer u de Set-Location
opdracht invoert:
Set-Location -Path C:\Windows -PassThru
Path
----
C:\WINDOWS
De PassThru-parameter kan worden gebruikt met veel setopdrachten in PowerShell om informatie te retourneren over het resultaat voor gevallen waarin er geen standaarduitvoer is.
U kunt paden opgeven ten opzichte van uw huidige locatie op dezelfde manier als in de meeste UNIX- en Windows-opdrachtshells. In standaard notatie voor relatieve paden vertegenwoordigt een punt (.
) uw huidige map en een dubbele punt (..
) de bovenliggende map van uw huidige locatie.
Als u zich bijvoorbeeld in de C:\Windows
map bevindt, vertegenwoordigt C:\Windows
een punt (.
) en dubbele perioden (..
).C:
U kunt van uw huidige locatie naar de hoofdmap van het C:
station wijzigen door het volgende te typen:
Set-Location -Path .. -PassThru
Path
----
C:\
Dezelfde techniek werkt op PowerShell-stations die geen bestandssysteemstations zijn, zoals HKLM:
. U kunt uw locatie instellen op de HKLM\Software
sleutel in het register door het volgende te typen:
Set-Location -Path HKLM:\SOFTWARE -PassThru
Path
----
HKLM:\SOFTWARE
Vervolgens kunt u de maplocatie wijzigen in de bovenliggende map met behulp van een relatief pad:
Set-Location -Path .. -PassThru
Path
----
HKLM:\
U kunt Set-Location
een van de ingebouwde PowerShell-aliassen typen of gebruiken voor Set-Location
(cd
, chdir
, sl
). Voorbeeld:
cd -Path C:\Windows
chdir -Path .. -PassThru
sl -Path HKLM:\SOFTWARE -PassThru
Recente locaties opslaan en intrekken (pushlocatie en pop-locatie)
Wanneer u locaties wijzigt, is het handig om bij te houden waar u bent geweest en om terug te keren naar uw vorige locatie. De Push-Location
cmdlet in PowerShell maakt een geordende geschiedenis (een 'stack') van mappaden waar u bent geweest en u kunt teruggaan door de geschiedenis van mappaden met behulp van de Pop-Location
cmdlet.
PowerShell begint bijvoorbeeld meestal in de basismap van de gebruiker.
Get-Location
Path
----
C:\Documents and Settings\PowerUser
Notitie
De woordstack heeft een speciale betekenis in veel programmeerinstellingen, waaronder .NET Framework. Net als bij een fysieke stapel items is het laatste item dat u op de stapel plaatst het eerste item dat u van de stapel kunt halen. Het toevoegen van een item aan een stack wordt ook wel 'pushen' genoemd naar de stack. Het ophalen van een item uit de stapel wordt ook wel 'popping' genoemd van het item uit de stapel.
Als u de huidige locatie naar de stack wilt pushen en vervolgens naar de map Lokaal Instellingen wilt gaan, typt u:
Push-Location -Path "Local Settings"
Vervolgens kunt u de lokale Instellingen locatie naar de stack pushen en naar de map Temp gaan door het volgende te typen:
Push-Location -Path Temp
U kunt controleren of u mappen hebt gewijzigd door de Get-Location
opdracht in te voeren:
Get-Location
Path
----
C:\Documents and Settings\PowerUser\Local Settings\Temp
Vervolgens kunt u teruggaan naar de laatst bezochte map door de Pop-Location
opdracht in te voeren en de wijziging te controleren door de Get-Location
opdracht in te voeren:
Pop-Location
Get-Location
Path
----
C:\Documents and Settings\me\Local Settings
Net als bij de Set-Location
cmdlet kunt u de parameter PassThru opnemen wanneer u de Pop-Location
cmdlet invoert om de map weer te geven die u hebt ingevoerd:
Pop-Location -PassThru
Path
----
C:\Documents and Settings\PowerUser
U kunt ook de locatie-cmdlets gebruiken met netwerkpaden. Als u een server met de naam FS01 met een share met de naam Openbaar hebt, kunt u uw locatie wijzigen door te typen
Set-Location \\FS01\Public
or
Push-Location \\FS01\Public
U kunt de Push-Location
en Set-Location
opdrachten gebruiken om de locatie te wijzigen in een willekeurig beschikbaar station. Als u bijvoorbeeld een lokaal CD-ROM-station hebt met stationsletter D die een gegevens-cd bevat, kunt u de locatie wijzigen in het CD-station door de Set-Location D:
opdracht in te voeren.
Als het station leeg is, wordt het volgende foutbericht weergegeven:
Set-Location D:
Set-Location : Cannot find path 'D:\' because it does not exist.
Wanneer u een opdrachtregelinterface gebruikt, is het niet handig om Bestandenverkenner te gebruiken om de beschikbare fysieke stations te onderzoeken. Bestandenverkenner zou u ook niet alle PowerShell-stations laten zien. PowerShell biedt een set opdrachten voor het bewerken van PowerShell-stations.