about_Locations
簡単な説明
PowerShell の作業場所からアイテムにアクセスする方法について説明します。
長い説明
現在の作業場所 は、コマンドが指す既定の場所です。 言い換えると、これは、コマンドの影響を受けるアイテムまたは場所への明示的なパスを指定しない場合に PowerShell で使用される場所です。
注意
PowerShell では、プロセスごとに複数の実行空間がサポートされます。 各実行空間には、独自の 現在のディレクトリがあります。 これは、PowerShell プロセスの現在のディレクトリと同じではありません: [System.Environment]::CurrentDirectory
。
たとえば、現在の作業場所を次の場所に設定できます。
Set-Location C:\Program Files\PowerShell
その結果、別のパスが明示的に指定されていない限り、すべてのコマンドがこの場所から処理されます。
PowerShell では、ドライブが現在のドライブではない場合でも、各ドライブの現在の作業場所が維持されます。 これにより、別の場所のドライブのみを参照することで、現在の作業場所からアイテムにアクセスできます。
たとえば、現在の作業場所が であると C:\Windows
します。 次に、次のコマンドを使用して、現在の作業場所をドライブに HKLM:
変更するとします。
Set-Location HKLM:
現在の場所はレジストリ ドライブになりましたが、次の例に示すように、ドライブをC:\Windows
C:
使用してディレクトリ内の項目にアクセスできます。
Get-ChildItem C:
PowerShell では、そのドライブの現在の作業場所が Windows
ディレクトリであるため、そのディレクトリから項目が取得されます。 次のコマンドを実行した場合、結果は同じになります。
Get-ChildItem C:\Windows
PowerShell では、 コマンドを Get-Location
使用して現在の作業場所を特定し、 コマンドを Set-Location
使用して現在の作業場所を設定できます。 たとえば、次のコマンドは、現在の作業場所をドライブの Windows
ディレクトリに C:
設定します。
Set-Location C:\Windows
現在の作業場所を設定した後でも、次の例に示すように、コマンドにドライブ名 (その後にコロン) を含めることで、他のドライブの項目にアクセスできます。
Get-ChildItem HKLM:\software
この例のコマンドは、レジストリ内のハイブの Software コンテナー内の項目の HKEY_LOCAL_MACHINE
一覧を取得します。
PowerShell では、特殊文字を使用して、現在の作業場所とその親の場所を表すこともできます。 現在の作業場所を表すには、1 つの期間を使用します。 現在の作業場所の親を表すには、2 つの期間を使用します。 たとえば、次の例では、現在の System
作業場所のサブディレクトリを指定します。
Get-ChildItem .\System
現在の作業場所が の場合、このコマンドは C:\Windows
内 C:\Windows\System
のすべての項目の一覧を返します。 ただし、2 つのピリオドを使用する場合は、次の例に示すように、現在の作業ディレクトリの親ディレクトリが使用されます。
Get-ChildItem ..\"Program Files"
この場合、PowerShell は 2 つのピリオドを C: ドライブとして扱うので、コマンドはディレクトリ内のすべての項目を C:\Program Files
取得します。
円記号 (\
) で始まるパスは、現在のドライブのルートからのパスを識別します。 たとえば、現在の作業場所が の場合、 C:\Program Files\PowerShell
ドライブのルートは です C:\
。 したがって、次のコマンドはディレクトリ内のすべての項目を C:\Windows
一覧表示します。
Get-ChildItem \Windows
コンテナーまたは項目の名前を指定するときに、ドライブ名、円記号 ()、またはピリオド (\
.
) で始まるパスを指定しない場合、コンテナーまたは項目は現在の作業場所にあると見なされます。 たとえば、現在の作業場所が の場合、 C:\Windows
次のコマンドはディレクトリ内のすべての項目を C:\Windows\System
返します。
Get-ChildItem System
ディレクトリ名ではなくファイル名を指定すると、PowerShell はそのファイルの詳細を返します (ファイルが現在の作業場所にあると仮定)。