次の方法で共有


about_Locations

簡単な説明

PowerShell の作業場所からアイテムにアクセスする方法について説明します。

長い説明

現在の作業場所 は、コマンドが指す既定の場所です。 言い換えると、これは、コマンドの影響を受けるアイテムまたは場所への明示的なパスを指定しない場合に PowerShell で使用される場所です。

注意

PowerShell では、プロセスごとに複数の実行空間がサポートされます。 各実行空間には、独自の 現在のディレクトリがあります。 これは、PowerShell プロセスの現在のディレクトリと同じではありません: [System.Environment]::CurrentDirectory

たとえば、現在の作業場所を次の場所に設定できます。

Set-Location C:\Program Files\PowerShell

その結果、別のパスが明示的に指定されていない限り、すべてのコマンドがこの場所から処理されます。

PowerShell では、ドライブが現在のドライブではない場合でも、各ドライブの現在の作業場所が維持されます。 これにより、別の場所のドライブのみを参照することで、現在の作業場所からアイテムにアクセスできます。 たとえば、現在の作業場所が であると C:\Windowsします。 次に、次のコマンドを使用して、現在の作業場所をドライブに HKLM: 変更するとします。

Set-Location HKLM:

現在の場所はレジストリ ドライブになりましたが、次の例に示すように、ドライブをC:\WindowsC:使用してディレクトリ内の項目にアクセスできます。

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:\WindowsC:\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 はそのファイルの詳細を返します (ファイルが現在の作業場所にあると仮定)。

こちらもご覧ください