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 die wordt beïnvloed door de opdracht.
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 er expliciet een ander pad wordt opgegeven.
PowerShell onderhoudt de huidige werklocatie voor elk station, zelfs wanneer het station niet het huidige station is. Hierdoor hebt u toegang tot items vanaf de huidige werklocatie door alleen naar het station van een andere locatie te verwijzen.
Stel dat uw huidige werklocatie is C:\Windows
. Stel 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, hebt u nog steeds toegang 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, zodat items uit die map worden opgehaald. De resultaten zijn hetzelfde als u de volgende opdracht hebt uitgevoerd:
Get-ChildItem C:\Windows
In PowerShell kunt u de opdracht gebruiken om de Get-Location
huidige werklocatie te bepalen en kunt u de Set-Location
opdracht gebruiken om de huidige werklocatie in te stellen. Met de volgende opdracht wordt bijvoorbeeld de huidige werklocatie ingesteld op de Windows
map van het C:
station:
Set-Location C:\Windows
Nadat u de huidige werklocatie hebt ingesteld, kunt u nog steeds toegang krijgen tot items van andere stations door de stationsnaam (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 softwarecontainer van de HKEY_LOCAL_MACHINE
hive in het register.
Met PowerShell kunt u ook speciale tekens gebruiken om de huidige werklocatie en de bovenliggende locatie weer te geven. Als u de huidige werklocatie wilt weergeven, gebruikt u één punt. Gebruik twee perioden om het bovenliggende item van de huidige werklocatie weer te geven. Met het volgende geeft u bijvoorbeeld de System
submap op in de huidige werklocatie:
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 perioden 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 perioden als station C: 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 C:\Program Files\PowerShell
, is 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 C:\Windows
, retourneert 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).