about_Path_Syntax

Kort beskrivning

Beskriver de fullständiga och relativa sökvägsnamnformaten i PowerShell.

Lång beskrivning

Alla objekt i ett datalager som är tillgängliga via en PowerShell-provider kan identifieras unikt av deras sökvägsnamn. Ett sökvägsnamn är en kombination av objektnamnet, containern och undercontainers som objektet finns i och Den PowerShell-enhet som containrarna används till.

I PowerShell är sökvägsnamn indelade i en av två typer: fullständigt kvalificerade och relativa. Ett fullständigt kvalificerat sökvägsnamn består av alla element som utgör en sökväg. Följande syntax visar elementen i ett fullständigt kvalificerat sökvägsnamn:

[<provider>::]<drive>:[\<container>[\<subcontainer>...]]\<item>

Providerplatshållaren <> refererar till PowerShell-providern genom vilken du kommer åt datalagret. Med FileSystem-providern kan du till exempel komma åt filer och kataloger på datorn. Det här elementet i syntaxen är valfritt och behövs aldrig eftersom enhetsnamnen är unika för alla providers.

Enhetsplatshållaren <> refererar till Den PowerShell-enhet som stöds av en viss PowerShell-provider. När det gäller FileSystem-providern mappar PowerShell-enheterna till De Windows-enheter som är konfigurerade i systemet. Om ditt system till exempel innehåller en A: -enhet och en C:-enhet skapar FileSystem-providern samma enheter i PowerShell.

När du har angett enheten måste du ange alla containrar och undercontainer som innehåller objektet. Containrarna måste anges i den hierarkiska ordning som de finns i datalagret. Med andra ord måste du börja med den överordnade containern, sedan den underordnade containern i den överordnade containern och så vidare. Dessutom måste varje container föregås av ett omvänt snedstreck. (Observera att Du kan använda snedstreck i PowerShell för kompatibilitet med andra PowerShells.)

När containern och undercontainers har angetts måste du ange objektnamnet, föregås av ett omvänt snedstreck. Till exempel är det fullständigt kvalificerade sökvägsnamnet för Shell.dll-filen i katalogen C:\Windows\System32 följande:

C:\Windows\System32\Shell.dll

I det här fallet är den enhet genom vilken containrarna används C:-enheten, containern på den översta nivån är Windows, undercontainern är System32 (finns i Windows-containern) och objektet är Shell.dll.

I vissa situationer behöver du inte ange ett fullständigt kvalificerat sökvägsnamn och kan i stället använda ett relativt sökvägsnamn. Ett relativt sökvägsnamn baseras på den aktuella arbetsplatsen. Med PowerShell kan du identifiera ett objekt baserat på dess plats i förhållande till den aktuella arbetsplatsen. Du kan ange relativa sökvägsnamn med hjälp av specialtecken. Följande tabell beskriver vart och ett av dessa tecken och innehåller exempel på relativa sökvägsnamn och fullständigt kvalificerade sökvägsnamn. Exemplen i tabellen baseras på den aktuella arbetskatalogen som anges till C:\Windows.

Symbol Description Relativ sökväg Fullständig sökväg
. Aktuell plats .\System c:\Windows\System
.. Överordnad för aktuell plats .. \Programfiler c:\Program Files
\ Enhetsrot för aktuell \Programfiler c:\Program Files
location
[ingen] Inga specialtecken System c:\Windows\System

När du använder ett sökvägsnamn i ett kommando anger du det namnet på samma sätt oavsett om du använder ett fullständigt kvalificerat sökvägsnamn eller ett relativt namn. Anta till exempel att din aktuella arbetskatalog är C:\Windows. Följande Get-ChildItem kommando hämtar alla objekt i katalogen C:\Techdocs:

Get-ChildItem \techdocs

Omvänt snedstreck anger att enhetsroten för den aktuella arbetsplatsen ska användas. Eftersom arbetskatalogen är C:\Windows är enhetsroten C:-enheten. Eftersom techdocs-katalogen finns utanför roten behöver du bara ange omvänt snedstreck.

Du kan uppnå samma resultat med hjälp av följande kommando:

Get-ChildItem c:\techdocs

Oavsett om du använder ett fullständigt kvalificerat sökvägsnamn eller ett relativt sökvägsnamn är ett sökvägsnamn viktigt inte bara för att det hittar ett objekt utan också för att det unikt identifierar objektet även om objektet delar samma namn som ett annat objekt i en annan container.

Anta till exempel att du har två filer som vart och ett heter Results.txt. Den första filen finns i en katalog med namnet C:\Techdocs\Jan, och den andra filen finns i en katalog med namnet C:\Techdocs\Feb. Sökvägsnamnet för den första filen (C:\Techdocs\Jan\Results.txt) och sökvägsnamnet för den andra filen (C:\Techdocs\Feb\Results.txt) gör att du tydligt kan skilja mellan de två filerna.

Se även