Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Krátký popis
Popisuje úplné a relativní formáty cest v PowerShellu.
Dlouhý popis
Všechny položky v úložišti dat přístupné prostřednictvím zprostředkovatele PowerShellu můžou být jednoznačně identifikovány názvy cest. Cesta je kombinace názvu položky, kontejneru a podkontejnerů, ve kterých se položka nachází, a jednotky PowerShellu, přes kterou jsou kontejnery přístupné.
V PowerShellu můžou být názvy cest jeden ze dvou typů: plně kvalifikované a relativní. Plně kvalifikovaná cesta se skládá ze všech prvků, které tvoří cestu. Následující syntaxe ukazuje prvky v plně kvalifikované cestě:
[<provider>::]<drive>:[\<container>[\<subcontainer>...]]\<item>
Zástupný symbol <provider> odkazuje na poskytovatele PowerShellu, prostřednictvím kterého přistupujete k úložišti dat. Zprostředkovatel fileSystem například umožňuje přístup k souborům a adresářům na vašem počítači. Tento prvek syntaxe je volitelný a není nikdy nutný, protože názvy jednotek jsou jedinečné pro všechny poskytovatele.
Zástupný symbol <drive> odkazuje na jednotku PowerShellu podporovanou konkrétním poskytovatelem PowerShellu. V případě poskytovatele systému souborů se diskové jednotky PowerShell mapují na diskové jednotky Windows nakonfigurované na vašem systému.
Pokud například váš systém obsahuje jednotku A: a jednotku C:, poskytovatel systému souborů vytvoří stejné jednotky v PowerShellu.
Po zadání jednotky musíte zadat všechny kontejnery a podkontejnery, které položku obsahují. Kontejnery musí být zadány v hierarchickém pořadí, ve kterém existují v úložišti dat. Jinými slovy, musíte začít s nadřazeným kontejnerem, potom podřízeným kontejnerem v daném nadřazeném kontejneru a opakovat vzor pro každý podřízený kontejner. Kromě toho před každým kontejnerem musí být zpětné lomítko.
Poznámka
PowerShell umožňuje použít zpětné lomítko nebo lomítko pro zajištění kompatibility s PowerShellem na jiných platformách. To funguje pro příkazy PowerShellu, ale nemusí fungovat při použití s nativními aplikacemi, které očekávají pouze oddělovač nativních adresářů. Pomocí [System.IO.Path]::DirectorySeparatorChar najděte znak používaný pro vaši platformu.
Po zadání kontejneru a podkontejnerů je nutné zadat název položky, který následuje za zpětným lomítkem. Plně kvalifikovaný název cesty pro soubor Shell.dll v adresáři C:\Windows\System32 je například následující:
C:\Windows\System32\Shell.dll
V tomto případě je jednotka, přes kterou jsou kontejnery přístupné, označena jako C:, kontejner nejvyšší úrovně je Windows, podkontejner je System32a položka je Shell.dll.
V některých situacích nemusíte zadávat plně kvalifikovanou cestu a místo toho můžete použít relativní cestu. PowerShell umožňuje identifikovat položku na základě jejího umístění vzhledem k aktuálnímu pracovnímu umístění.
PowerShell používá následující sekvence znaků k určení relativních cest.
- (
.) – aktuální umístění - (
..) – nadřazený objekt aktuálního umístění - (
\) – kořen aktuálního umístění
Následující příklady jsou založeny na aktuálním pracovním adresáři, který je nastaven na C:\Windows.
- Relativní cesta
.\Systemse vyhodnotí jakoC:\Windows\System - Relativní cesta
..\Program Filesse vyhodnotí jakoC:\Program Files - Relativní cesta
\Program Filesse vyhodnotí jakoC:\Program Files - Relativní cesta
Systemse vyhodnotí jakoC:\Windows\System
Při použití cesty v příkazu můžete použít plně kvalifikovanou cestu nebo relativní cestu. Předpokládejme například, že váš aktuální pracovní adresář je C:\Windows. Následující příkaz Get-ChildItem načte všechny položky v adresáři C:\TechDocs:
Get-ChildItem \TechDocs
Zpětné lomítko označuje, že se má použít kořen jednotky aktuálního pracovního umístění. Vzhledem k tomu, že pracovní adresář je C:\Windows, kořen jednotky se nachází na jednotce C:. Vzhledem k tomu, že adresář TechDocs je umístěn mimo kořen, je nutné zadat pouze zpětné lomítko.
Stejné výsledky získáte pomocí plně kvalifikované cesty:
Get-ChildItem C:\TechDocs
Bez ohledu na to, jestli používáte plně kvalifikovanou cestu nebo relativní název cesty, je cesta důležitá nejen proto, že vyhledá položku, ale také proto, že položku jednoznačně identifikuje, i když tato položka sdílí stejný název jako jiná položka v jiném kontejneru.
Předpokládejme například, že máte dva soubory, které mají názvy Results.txt. První soubor je v adresáři s názvem C:\TechDocs\Jana druhý soubor je v adresáři s názvem C:\TechDocs\Feb. Cesta pro první soubor (C:\TechDocs\Jan\Results.txt) a cesta druhého souboru (C:\TechDocs\Feb\Results.txt) umožňují jasně rozlišit mezi těmito dvěma soubory.
Podpora oboru názvů souborů Win32
Ve Windows cmdlety, které podporují zprostředkovatele FileSystem, také podporují cesty, které používají formát oboru názvů Win32 File. Tyto cesty můžete použít pouze s parametrem LiteralPath rutin.
Cesty v oboru názvů souborů Win32 mají předponu \\?\. Předpona informuje rozhraní API systému Windows, aby zakázalo analýzu všech řetězců a odeslalo následující řetězec přímo do systému souborů. Pokud například systém souborů podporuje velké cesty a názvy souborů, můžete překročit MAX_PATH omezení, která jsou jinak vynucena rozhraními API systému Windows.
Další informace najdete v tématu Obory názvů souborů Win32 v Pojmenování souborů, cest a oborů názvů.
Viz také
- o_lokacích
- Convert-Path
- Join-Path
- řešení cesty
- Split-Path
- testovací cesty