about_Path_Syntax
適用対象: Windows PowerShell 2.0, Windows PowerShell 3.0
トピック
about_Path_Syntax
概要
Windows PowerShell の完全パス名および相対パス名の形式について説明します。
詳細説明
Windows PowerShell プロバイダーからアクセス可能なデータ ストアのすべての項目は、パス名で一意に識別できます。パス名は、項目名、その項目が配置されているコンテナーとサブコンテナー、およびコンテナーへのアクセス時に使用する Windows PowerShell ドライブを組み合わせたものです。
Windows PowerShell では、パス名は次の 2 種類のいずれかに分けられます。完全修飾と相対です。完全修飾パス名は、パスを構成するすべての要素で構成されます。次の構文は、完全修飾パス名の要素を示しています。
[<provider>::]<drive>:[\<container>[\<subcontainer>...]]\<item>
<provider> プレースホルダーは、データ ストアへのアクセスに使用する Windows PowerShell プロバイダーを指します。たとえば、FileSystem プロバイダーを使用すると、コンピューター上のファイルとディレクトリにアクセスできます。構文のこの要素はオプションで、ドライブ名がすべてのプロバイダーで一意であるため必要になることはありません。
<drive> プレースホルダーは、特定の Windows PowerShell プロバイダーでサポートされている Windows PowerShell ドライブを指します。FileSystem プロバイダーの場合、Windows PowerShell ドライブはシステムに構成されている Windows ドライブにマップされます。たとえば、システムに A: ドライブと C: ドライブが含まれている場合、FileSystem プロバイダーは Windows PowerShell に同じドライブを作成します。
ドライブを指定した後、項目が含まれているコンテナーとサブコンテナーを指定する必要があります。コンテナーは、データ ストア内に存在する階層順に指定する必要があります。つまり、親コンテナーから開始し、次にその親コンテナー内の子コンテナーが続き、以後同様に指定する必要があります。さらに、各コンテナーの前に円記号が必要です。(なお、Windows PowerShell では他の PowerShell との互換性のためスラッシュを使用できます。)
サブコンテナーとコンテナーを指定した後、円記号と項目名を順に指定する必要があります。たとえば、C:\Windows\System32 ディレクトリにある Shell.dll ファイルの完全修飾パス名は次のようになります。
C:\Windows\System32\Shell.dll
この場合、コンテナーへのアクセスに使用されるドライブは C: ドライブ、最上位のコンテナーは Windows、サブコンテナーは System32 (Windows コンテナー内に存在)、項目は Shell.dll です。
場合によっては、完全修飾パスを指定する必要がなく、代わりに相対パス名を使用できます。相対パス名は、現在の作業場所に基づきます。Windows PowerShell では、現在の作業場所を基準とした相対位置に基づいて項目を識別できます。特殊文字を使用して、相対パス名を指定できます。次の表では、これらの文字のそれぞれについて説明し、相対パス名と完全修飾パス名の例を示します。表の例は、C:\Windows に設定されている現在の作業ディレクトリに基づいています。
Symbol Description Relative path Fully qualified path
------ -------------------------- ---------------- --------------------
. Current working location .\System c:\Windows\System
.. Parent of current working ..\Program Files c:\Program Files
location
\ Drive root of current \Program Files c:\Program Files
working location
[none] No special characters System c:\Windows\System
コマンドでパス名を使用する場合は、完全修飾パス名を使用するのか相対パス名を使用するのかに関係なく、同じ方法でパス名を入力します。たとえば、現在の作業ディレクトリが C:\Windows であるとします。次の Get-ChildItem コマンドは、C:\Techdocs ディレクトリ内のすべての項目を取得します。
Get-ChildItem \techdocs
円記号は、現在の作業場所のドライブのルートを使用することを示します。作業ディレクトリが C:\Windows であるため、ドライブのルートは C: ドライブです。techdocs ディレクトリはルートまで戻った場所にあるため、指定する必要があるのは円記号のみです。
次のコマンドを使用して、同じ結果を得ることができます。
Get-ChildItem c:\techdocs
完全修飾パス名を使用するのか相対パス名を使用するのかに関係なく、パス名が重要であるのは、そのパス名により項目を検出できるという理由に加えて、項目が別のコンテナーの別の項目と同じ名前を共有している場合でも項目を一意に識別するためです。
たとえば、Results.txt という名前のファイルが 2 つあるとします。1 つ目のファイルは C:\Techdocs\Jan という名前のディレクトリにあり、2 つ目のファイルは C:\Techdocs\Feb という名前のディレクトリにあります。1 つ目のファイル (C:\Techdocs\Jan\Results.txt) のパス名と 2 つ目のファイルのパス名 (C:\Techdocs\Feb\Results.txt) を使用すると、2 つのファイルを明確に区別できます。
関連項目
about_Locations