about_Locations

Kort beskrivning

Beskriver hur du kommer åt objekt från arbetsplatsen i PowerShell.

Lång beskrivning

Den aktuella arbetsplatsen är standardplatsen där kommandona pekar. Det här är med andra ord den plats som PowerShell använder om du inte anger en explicit sökväg till objektet eller platsen som påverkas av kommandot.

Kommentar

PowerShell stöder flera runspaces per process. Varje runspace har en egen aktuell katalog. Det här är inte samma som den aktuella katalogen i PowerShell-processen: [System.Environment]::CurrentDirectory.

Du kan till exempel ange din aktuella arbetsplats till följande plats:

Set-Location C:\Program Files\PowerShell

Därför bearbetas alla kommandon från den här platsen om inte en annan sökväg uttryckligen anges.

PowerShell behåller den aktuella arbetsplatsen för varje enhet även när enheten inte är den aktuella enheten. På så sätt kan du komma åt objekt från den aktuella arbetsplatsen genom att endast referera till enheten på en annan plats. Anta till exempel att din aktuella arbetsplats är C:\Windows. Anta nu att du använder följande kommando för att ändra din aktuella arbetsplats till HKLM: enheten:

Set-Location HKLM:

Även om den aktuella platsen nu är registerenheten kan du fortfarande komma åt objekt i C:\Windows katalogen med hjälp av C: enheten, som du ser i följande exempel:

Get-ChildItem C:

PowerShell kommer ihåg att den aktuella arbetsplatsen för den Windows enheten är katalogen, så den hämtar objekt från den katalogen. Resultatet skulle vara detsamma om du körde följande kommando:

Get-ChildItem C:\Windows

I PowerShell kan du använda Get-Location kommandot för att fastställa den aktuella arbetsplatsen och du kan använda Set-Location kommandot för att ange den aktuella arbetsplatsen. Följande kommando anger till exempel den aktuella arbetsplatsen till Windows enhetens C: katalog:

Set-Location C:\Windows

När du har angett den aktuella arbetsplatsen kan du fortfarande komma åt objekt från andra enheter genom att inkludera enhetsnamnet (följt av ett kolon) i kommandot, som du ser i följande exempel:

Get-ChildItem HKLM:\software

Exempelkommandot hämtar en lista över objekt i programcontainern för HKEY_LOCAL_MACHINE hive i registret.

Med PowerShell kan du också använda specialtecken för att representera den aktuella arbetsplatsen och dess överordnade plats. Om du vill representera den aktuella arbetsplatsen använder du en enda period. Om du vill representera överordnad för den aktuella arbetsplatsen använder du två perioder. Följande anger till exempel underkatalogen System på den aktuella arbetsplatsen:

Get-ChildItem .\System

Om den aktuella arbetsplatsen är C:\Windowsreturnerar det här kommandot en lista över alla objekt i C:\Windows\System. Men om du använder två perioder används den överordnade katalogen för den aktuella arbetskatalogen, som du ser i följande exempel:

Get-ChildItem ..\"Program Files"

I det här fallet behandlar PowerShell de två perioderna som C:-enheten, så kommandot hämtar alla objekt i C:\Program Files katalogen.

En sökväg som börjar med ett omvänt snedstreck (\) identifierar en sökväg från roten på den aktuella enheten. Om din aktuella arbetsplats till exempel är C:\Program Files\PowerShellär C:\roten på enheten . Därför listar följande kommando alla objekt i C:\Windows katalogen:

Get-ChildItem \Windows

Om du inte anger en sökväg som börjar med ett enhetsnamn, omvänt snedstreck (\) eller punkt (.) när du anger namnet på en container eller ett objekt antas containern eller objektet finnas på den aktuella arbetsplatsen. Om din aktuella arbetsplats till exempel är C:\Windowsreturnerar följande kommando alla objekt i C:\Windows\System katalogen:

Get-ChildItem System

Om du anger ett filnamn i stället för ett katalognamn returnerar PowerShell information om filen (förutsatt att filen finns på den aktuella arbetsplatsen).

Se även