about_Locations

適用対象: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

トピック

about_Locations

概要

Windows PowerShell で作業場所から項目にアクセスする方法について説明します。

詳細説明

現在の作業場所は、コマンドが指している既定の場所です。つまり、ユーザーがコマンドの影響を受ける項目または場所への明示的なパスを指定しない場合に Windows PowerShell が使用する場所です。ほとんどの場合、現在の作業場所は Windows PowerShell FileSystem プロバイダーを使用してアクセスされるドライブですが、場合によってはそのドライブ上のディレクトリであることもあります。たとえば、現在の作業場所を次の場所に設定することもできます。

        C:\Program Files\Windows PowerShell

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

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

        Set-Location HKLM:

現在の作業場所がレジストリ ドライブになりますが、次の例に示すように、単に C: ドライブを使用するだけで引き続き C:\Windows ディレクトリ内の項目にアクセスできます。

        Get-ChildItem C:

Windows PowerShell は、そのドライブの現在の作業場所が Windows ディレクトリであることを記憶しているため、そのディレクトリから項目を取得します。次のコマンドを実行した場合も、結果は同じです。

        Get-ChildItem C:\Windows

Windows PowerShell では、Get-Location コマンドを使用して現在の作業場所を判断し、Set-Location コマンドを使用して現在の作業場所を設定できます。たとえば、次のコマンドは現在の作業場所を C: ドライブの Windows ディレクトリに設定します。

        Set-Location c:\windows

現在の作業場所を設定した後も、次の例に示すように、コマンドにドライブ名 (後にコロンを続けます) を含めるだけで、他のドライブから項目にアクセスできます。

        Get-ChildItem HKLM :\software

コマンドの例では、レジストリ内の [HKEY Local Machine] ハイブの [ソフトウェア] コンテナー内の項目の一覧を取得しています。

また、Windows PowerShell では特殊文字を使用して現在の作業場所とその親の場所を表すこともできます。現在の作業場所を表すには、単一のピリオドを使用します。現在の作業場所の親を表すには、2 つのピリオドを使用します。たとえば、次の例では現在の作業場所の System サブディレクトリを指定しています。

        Get-ChildItem .\system

現在の作業場所が C:\Windows である場合、このコマンドは C:\Windows\System のすべての項目の一覧を返します。ただし、2 つのピリオドを使用した場合は、次の例に示すように、現在の作業ディレクトリの親ディレクトリが使用されます。

        Get-ChildItem ..\"program files"

この場合、Windows PowerShell は 2 つのピリオドを C: ドライブとして扱うため、コマンドは C:\Program Files ディレクトリ内のすべての項目を取得します。

スラッシュから始まるパスは、現在のドライブのルートからのパスを識別します。たとえば、現在の作業場所が C:\Program Files\Windows PowerShell である場合、ドライブのルートは C です。そのため、次のコマンドは C:\Windows ディレクトリのすべての項目を表示します。

        Get-ChildItem \windows

コンテナーまたは項目の名前を指定するときに、ドライブ名、スラッシュ、またはピリオドで始まるパスを指定しなかった場合、そのコンテナーまたは項目は現在の作業場所にあると見なされます。たとえば、現在の作業場所が C:\Windows である場合、次のコマンドは C:\Windows\System ディレクトリのすべての項目を返します。

        Get-ChildItem system

ディレクトリ名ではなくファイル名を指定した場合、Windows PowerShell はそのファイルに関する詳細を返します (そのファイルが現在の作業場所にあるものとします)。

関連項目

Set-Location

about_Providers

about_Path_Syntax