Dela via


about_Path_Syntax

Kort beskrivning

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

Lång beskrivning

Alla objekt i ett datalager som är tillgängliga via en PowerShell-provider kan identifieras unikt med deras sökvägsnamn. En sökväg är en kombination av objektnamnet, containern och undercontainrarna som objektet finns i och Den PowerShell-enhet som containrarna nås via.

I PowerShell kan sökvägsnamn vara en av två typer: fullständigt kvalificerade och relativa. En fullständigt kvalificerad sökväg 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>

Platshållaren <provider> refererar till PowerShell-providern som du kommer åt datalagret genom. 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 providrar.

Platshållaren <drive> 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 undercontainrar 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 och sedan den underordnade containern i den överordnade containern och upprepa mönstret för varje underordnad container. Dessutom måste varje container föregås av ett omvänt snedstreck.

Anteckning

Med PowerShell kan du använda omvänt snedstreck eller snedstreck för kompatibilitet med PowerShell på andra plattformar. Detta fungerar för PowerShell-kommandon, men kanske inte fungerar när det används med interna program som bara förväntar sig den interna katalogavgränsaren. Använd [System.IO.Path]::DirectorySeparatorChar för att hitta tecknet som används för din plattform.

När containern och undercontainrar 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 C:\Windows\System32 katalogen följande:

C:\Windows\System32\Shell.dll

I det här fallet är C: den enhet genom vilken containrarna används enheten, containern på den översta nivån är Windows, undercontainern är System32och objektet är Shell.dll.

I vissa situationer behöver du inte ange en fullständigt kvalificerad sökväg utan kan i stället använda en relativ sökväg. Med PowerShell kan du identifiera ett objekt baserat på dess plats i förhållande till den aktuella arbetsplatsen.

PowerShell använder följande teckensekvenser för att ange relativa sökvägar.

  • (.) – Aktuell plats
  • (..) – Överordnad för aktuell plats
  • (\) – Rot för aktuell plats

Följande exempel baseras på den aktuella arbetskatalogen som anges till C:\Windows.

  • Den relativa sökvägen .\System matchas som C:\Windows\System
  • Den relativa sökvägen ..\Program Files matchas som C:\Program Files
  • Den relativa sökvägen \Program Files matchas som C:\Program Files
  • Den relativa sökvägen System matchas som C:\Windows\System

När du använder en sökväg i ett kommando kan du använda en fullständigt kvalificerad sökväg eller en relativ sökväg. Anta till exempel att din aktuella arbetskatalog är C:\Windows. Följande Get-ChildItem kommando hämtar alla objekt i C:\TechDocs katalogen:

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. TechDocs Eftersom katalogen finns utanför roten behöver du bara ange det omvända snedstrecket.

Du får samma resultat med hjälp av den fullständigt kvalificerade sökvägen:

Get-ChildItem C:\TechDocs

Oavsett om du använder en fullständigt kvalificerad sökväg eller ett relativt sökvägsnamn är en sökväg viktig inte bara för att den hittar ett objekt utan även 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. Med sökvägen till den första filen (C:\TechDocs\Jan\Results.txt) och sökvägen till den andra filen (C:\TechDocs\Feb\Results.txt) kan du tydligt skilja mellan de två filerna.

Se även