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.

Opmerking

PowerShell ondersteunt meerdere runspaces per proces. Elke runspace heeft een eigen werkmap. Dit is niet hetzelfde als de huidige map van het proces: [System.Environment]::CurrentDirectory.

In de meeste gevallen is de huidige werklocatie een station dat toegankelijk is via de PowerShell FileSystem-provider en, in sommige gevallen, een map op dat station. U kunt bijvoorbeeld uw huidige werklocatie instellen op de volgende locatie:

C:\Program Files\Windows PowerShell

Als gevolg hiervan worden alle opdrachten vanaf deze locatie verwerkt, tenzij er expliciet een ander pad wordt opgegeven.

PowerShell behoudt de huidige werklocatie voor elk station, zelfs als het station niet het huidige station is. Hierdoor hebt u toegang tot items vanaf de huidige werklocatie door alleen te verwijzen naar de schijf van een andere locatie. Stel dat uw huidige werklocatie C:\Windowsis. Stel nu dat u de volgende opdracht gebruikt om uw huidige werklocatie te wijzigen in de HKLM: drive:

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, 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 Get-Location gebruiken om de huidige werklocatie te bepalen en kunt u de opdracht Set-Location gebruiken om de huidige werklocatie in te stellen. Met de volgende opdracht wordt de huidige werklocatie bijvoorbeeld 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 simpelweg de naam van het station (gevolgd door een dubbele punt) in de opdracht op te nemen, zoals wordt weergegeven in het volgende voorbeeld:

Get-ChildItem HKLM:\software

De voorbeeldopdracht haalt een lijst met items op 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 kunt u bijvoorbeeld de submap Systeem op de huidige werklocatie opgeven:

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 het station C: zodat de opdracht alle items in de C:\Program Files map ophaalt.

Een pad dat begint met een schuine streep identificeert een pad vanaf de root van het huidige station. Als uw huidige werklocatie bijvoorbeeld is C:\Program Files\PowerShell, is de root van uw schijf C. Daarom worden met de volgende opdracht alle items in de C:\Windows map weergegeven:

Get-ChildItem \windows

Als u bij het opgeven van de naam van een container of artikel geen pad opgeeft dat begint met een stationsnaam, schuine streep of punt, wordt aangenomen dat de container of het artikel 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).

Zie ook