about_Locations
Korte beschrijving
Hierin wordt beschreven hoe u toegang hebt tot items vanaf de werklocatie in PowerShell.
Lange beschrijving
De huidige werklocatie is de standaardlocatie waarnaar opdrachten verwijzen. Met andere woorden, dit is de locatie die PowerShell gebruikt als u geen expliciet pad opgeeft naar het item of de locatie waarop de opdracht betrekking heeft.
Notitie
PowerShell ondersteunt meerdere runspaces per proces. Elke runspace heeft een eigen huidige map. Dit is niet hetzelfde als de huidige map van het PowerShell-proces: [System.Environment]::CurrentDirectory
.
U kunt bijvoorbeeld uw huidige werklocatie instellen op de volgende locatie:
Set-Location C:\Program Files\PowerShell
Als gevolg hiervan worden alle opdrachten vanaf deze locatie verwerkt, tenzij expliciet een ander pad is opgegeven.
PowerShell onderhoudt de huidige werklocatie voor elk station, zelfs als het station niet het huidige station is. Hiermee hebt u toegang tot items vanaf de huidige werklocatie door alleen te verwijzen naar het station van een andere locatie.
Stel dat uw huidige werklocatie is C:\Windows
. Stel nu dat u de volgende opdracht gebruikt om uw huidige werklocatie te wijzigen in het HKLM:
station:
Set-Location HKLM:
Hoewel uw huidige locatie nu het registerstation is, kunt u nog steeds toegang krijgen tot items in de C:\Windows
map met behulp van het C:
station, zoals wordt weergegeven in het volgende voorbeeld:
Get-ChildItem C:
PowerShell onthoudt dat uw huidige werklocatie voor dat station de Windows
map is, dus worden items uit die map opgehaald. De resultaten zijn hetzelfde als u de volgende opdracht hebt uitgevoerd:
Get-ChildItem C:\Windows
In PowerShell kunt u de Get-Location
opdracht gebruiken om de huidige werklocatie te bepalen en kunt u de Set-Location
opdracht gebruiken om de huidige werklocatie in te stellen. Met de volgende opdracht stelt u bijvoorbeeld de huidige werklocatie in op de Windows
map van het C:
station:
Set-Location C:\Windows
Nadat u de huidige werklocatie hebt ingesteld, hebt u nog steeds toegang tot items van andere stations door de naam van het station (gevolgd door een dubbele punt) op te geven in de opdracht, zoals wordt weergegeven in het volgende voorbeeld:
Get-ChildItem HKLM:\software
Met de voorbeeldopdracht wordt een lijst met items opgehaald in de container Software van de HKEY_LOCAL_MACHINE
component in het register.
In PowerShell kunt u ook speciale tekens gebruiken om de huidige werklocatie en de bovenliggende locatie aan te geven. Gebruik één punt om de huidige werklocatie weer te geven. Gebruik twee punten om het bovenliggende item van de huidige werklocatie weer te geven. Het volgende geeft bijvoorbeeld de System
submap op de huidige werklocatie op:
Get-ChildItem .\System
Als de huidige werklocatie is C:\Windows
, retourneert deze opdracht een lijst met alle items in C:\Windows\System
. Als u echter twee punten gebruikt, wordt de bovenliggende map van de huidige werkmap gebruikt, zoals wordt weergegeven in het volgende voorbeeld:
Get-ChildItem ..\"Program Files"
In dit geval behandelt PowerShell de twee punten als het C:-station, zodat de opdracht alle items in de C:\Program Files
map ophaalt.
Een pad dat begint met een backslash (\
) identificeert een pad uit de hoofdmap van het huidige station. Als uw huidige werklocatie bijvoorbeeld is, is C:\Program Files\PowerShell
C:\
de hoofdmap van uw station . Daarom worden met de volgende opdracht alle items in de C:\Windows
map weergegeven:
Get-ChildItem \Windows
Als u geen pad opgeeft dat begint met een stationsnaam, backslash (\
) of punt (.
) bij het opgeven van de naam van een container of item, wordt ervan uitgegaan dat de container of het item zich op de huidige werklocatie bevindt. Als uw huidige werklocatie bijvoorbeeld is, retourneert C:\Windows
de volgende opdracht alle items in de C:\Windows\System
map:
Get-ChildItem System
Als u een bestandsnaam opgeeft in plaats van een mapnaam, retourneert PowerShell details over dat bestand (ervan uitgaande dat het bestand zich op de huidige werklocatie bevindt).