次の方法で共有


Get-Location

現在の作業場所または場所スタックに関する情報を取得します。

構文

Location (既定)

Get-Location
    [-PSProvider <String[]>]
    [-PSDrive <String[]>]
    [-UseTransaction]
    [<CommonParameters>]

Stack

Get-Location
    [-Stack]
    [-StackName <String[]>]
    [-UseTransaction]
    [<CommonParameters>]

説明

Get-Location コマンドレットは、印刷作業ディレクトリ (pwd) コマンドと同様に、現在のディレクトリを表すオブジェクトを取得します。

Windows PowerShell ドライブ間を移動する場合、Windows PowerShell は各ドライブに場所を保持します。 このコマンドレットを使用して、各ドライブ内の場所を見つけることができます。

このコマンドレットを使用すると、実行時に現在のディレクトリを取得し、Windows PowerShell プロンプトに現在のディレクトリを表示する関数など、関数やスクリプトで使用できます。

このコマンドレットを使用して、場所スタック内の場所を表示することもできます。 詳細については、Stack および StackName パラメーターの注意事項と説明を参照してください。

例 1: 現在のドライブの場所を表示する

PS C:\> Get-Location
Path
----
C:\WINDOWS

このコマンドは、現在の Windows PowerShell ドライブ内の場所を表示します。

たとえば、C: ドライブの Windows ディレクトリにいる場合は、そのディレクトリへのパスが表示されます。

例 2: 異なるドライブの現在の場所を表示する

The first command uses the **Set-Location** cmdlet to set the current location to the Windows subdirectory of the C: drive.
PS C:\> Set-Location C:\Windows

The second command uses the **Set-Location** cmdlet to change the location to the HKLM:\Software\Microsoft registry key. When you change to a location in the HKLM: drive, Windows PowerShell retains your location in the C: drive.
PS C:\>
PS C:\WINDOWS> Set-Location HKLM:\Software\Microsoft
PS HKLM:\Software\Microsoft>

The third command uses the **Set-Location** cmdlet to change the location to the HKCU:\Control Panel\Input Method registry key.
PS C:\>
PS HKLM:\Software\Microsoft> Set-Location "HKCU:\Control Panel\Input Method"
PS HKCU:\Control Panel\Input Method>

The fourth command uses the **Get-Location** cmdlet to find the current location on the C: drive. It uses the *PSDrive* parameter to specify the drive.
PS C:\>
PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive C



Path
----
C:\WINDOWS

The fifth command uses the **Set-Location** cmdlet to return to the C: drive. Even though the command does not specify a subdirectory, Windows PowerShell returns you to the saved location.
PS C:\>
PS HKCU:\Control Panel\Input Method> Set-Location C:
PS C:\WINDOWS>

The sixth command uses the **Get-Location** cmdlet to find the current location in the drives supported by the Windows PowerShell registry provider. **Get-Location** returns the location of the most recently accessed registry drive, HKCU.
PS C:\>
PS C:\WINDOWS> Get-Location -PSProvider registry




Path
----
HKCU:\Control Panel\Input Method

To see the current location in the HKLM: drive, you need to use the *PSDrive* parameter to specify the drive. The seventh command does just this:
PS C:\>
PS C:\WINDOWS> Get-Location -PSDrive HKLM



Path
----
HKLM:\Software\Microsoft

この例では、 Get-Location を使用して、さまざまな Windows PowerShell ドライブに現在の場所を表示する方法を示します。

例 3: 現在の場所スタックと別の場所スタックの場所を一覧表示する

The first command sets the current location to the Windows directory on the C: drive.
PS C:\> Set-Location C:\Windows

The second command uses the **Push-Location** cmdlet to push the current location (C:\Windows) onto the current location stack and change to the System32 subdirectory. Because no stack is specified, the current location is pushed onto the current location stack. By default, the current location stack is the unnamed default location stack.
C:\WINDOWS> Push-Location System32

The third command uses the *StackName* parameter of the **Push-Location** cmdlet to push the current location (C:\Windows\System32) onto the Stack2 stack and to change the current location to the WindowsPowerShell subirectory. If the Stack2 stack does not exist, **Push-Location** creates it.
C:\Windows\System32> Push-Location WindowsPowerShell -StackName Stack2

The fourth command uses the *Stack* parameter of the **Get-Location** cmdlet to get the locations in the current location stack. By default, the current stack is the unnamed default location stack.
C:\WINDOWS\system32\WindowsPowerShell> Get-Location -Stack
Path
----
C:\WINDOWS

The fifth command uses the *StackName* parameter of the **Get-Location** cmdlet to get the locations in the Stack2 stack.
PS C:\>
C:\WINDOWS\system32\WindowsPowerShell>get-location -stackname Stack2



Path
----
C:\WINDOWS\system32

このコマンドは、Get-LocationStack パラメーターと StackName パラメーターを使用して、現在の場所スタックと別の場所スタック内の場所を一覧表示する方法を示しています。 場所スタックの詳細については、「メモ」を参照してください。

例 4: Windows PowerShell プロンプトをカスタマイズする

PS C:\>
function prompt { 'PowerShell: ' + (get-location) + '> '}
PowerShell: C:\WINDOWS>

この例では、Windows PowerShell プロンプトをカスタマイズする方法を示します。 プロンプトを定義する関数には、コンソールにプロンプトが表示されるたびに実行される Get-Location コマンドが含まれています。

既定の Windows PowerShell プロンプトの形式は、prompt という名前の特別な関数によって定義されます。 コンソールでプロンプトを変更するには、prompt という名前の新しい関数を作成します。

現在のプロンプト関数を表示するには、次のコマンドを入力します: Get-Content Function:prompt

コマンドは、function キーワードで始まり、その後に関数名 prompt が続きます。 関数本体は中かっこ ( {} ) で囲まれています。

このコマンドは、文字列 PowerShell: で始まる新しいプロンプトを定義します。 現在の場所を追加するには、プロンプト関数が呼び出されたときに実行される Get-Location コマンドを使用します。 プロンプトは文字列 "> "で終わります。

パラメーター

-PSDrive

このコマンドレットが操作で取得する、指定した Windows PowerShell ドライブ内の現在の場所を指定します。

たとえば、Certificate: ドライブを使用している場合は、このパラメーターを使用して C: ドライブ内の現在位置を見つけることができます。

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

Location
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-PSProvider

Windows PowerShell プロバイダーでサポートされているドライブ内の現在の場所を指定し、このコマンドレットが操作で取得します。

指定したプロバイダーが複数のドライブをサポートしている場合、このコマンドレットは最近アクセスしたドライブ上の場所を返します。

たとえば、C: ドライブにいる場合は、このパラメーターを使用して、Windows PowerShellRegistry プロバイダーのドライブ内の現在の場所を見つけることができます。

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

Location
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-Stack

このコマンドレットが現在の場所スタック内の場所を表示することを示します。

別の場所スタックに場所を表示するには、StackName パラメーターを使用します。 ロケーションスタックの詳細については、ノートを参照してください。

パラメーターのプロパティ

型:SwitchParameter
規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

Stack
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

-StackName

名前付き場所スタックを文字列配列として指定します。 1 つ以上の場所スタック名を入力します。

現在の場所スタックの場所を表示するには、Stack パラメーターを使用します。 ロケーション スタックを現在のロケーション スタックにするには、Set-Location パラメーターを使用します。 ロケーションスタックの詳細については、ノートを参照してください。

このコマンドレットは、現在のスタックでない限り、名前のない既定のスタック内の場所を表示できません。

パラメーターのプロパティ

型:

String[]

規定値:None
ワイルドカードのサポート:False
DontShow:False

パラメーター セット

Stack
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:True
残りの引数からの値:False

-UseTransaction

アクティブなトランザクションにコマンドを含みます。 このパラメーターは、トランザクションが進行中の場合にのみ有効です。 詳細については、「about_Transactions」を参照してください。

パラメーターのプロパティ

型:SwitchParameter
規定値:False
ワイルドカードのサポート:False
DontShow:False
Aliases:usetx

パラメーター セット

(All)
配置:Named
必須:False
パイプラインからの値:False
プロパティ名別のパイプラインからの値:False
残りの引数からの値:False

CommonParameters

このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。

入力

None

パイプを使用してこのコマンドレットに入力を渡すことはできません。

出力

System.Management.Automation.PathInfo or System.Management.Automation.PathInfoStack

Stack パラメーターまたは StackName パラメーターを使用する場合、このコマンドレットは StackInfo オブジェクトを返します。 それ以外の場合は、 PathInfo オブジェクトを返します。

メモ

  • このコマンドレットは、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッション内のプロバイダーを一覧表示するには、「Get-PSProvider」と入力します。 詳細については、「about_Providers」を参照してください。

    PSProvider、PSDrive Stack、および stackName パラメーターする方法は、プロバイダーによって異なります。 一部の組み合わせでは、ドライブとそのドライブを公開しないプロバイダーの両方を指定するなど、エラーが発生します。 パラメーターが指定されていない場合、このコマンドレットは現在の作業場所を含むプロバイダーの PathInfo オブジェクトを返します。

    スタックは、最後に追加された項目にのみアクセスできる、最後に追加された先入れ先出しリストです。 アイテムを使用する順序でスタックに追加し、逆の順序で使用するためにアイテムを取得します。 Windows PowerShell では、プロバイダーの場所を場所スタックに格納できます。 Windows PowerShell では、名前のない既定の場所スタックが作成され、複数の名前付きの場所スタックを作成できます。 スタック名を指定しない場合、Windows PowerShell は現在の場所のスタックを使用します。 既定では、名前のない既定の場所は現在の場所スタックですが、 Set-Location コマンドレットを使用して現在の場所スタックを変更できます。

    場所のスタックを管理するには、次のように Windows PowerShellLocation コマンドレットを使用します。

    • ロケーションスタックにロケーションを追加するには、Push-Location コマンドレットを使用します。

    • 場所スタックから場所を取得するには、Pop-Location コマンドレットを使用します。

    • 現在の場所スタック内の場所を表示するには、Get-Location コマンドレットの Stack パラメーターを使用します。 名前付きの場所スタック内の場所を表示するには、Get-Location コマンドレットの StackName パラメーターを使用します。

    • 新しい場所スタックを作成するには、Push-Location コマンドレットの StackName パラメーターを使用します。 存在しないスタックを指定すると、 Push-Location によってスタックが作成されます。

    • ロケーション スタックを現在のロケーション スタックにするには、Set-Location コマンドレットの StackName パラメーターを使用します。

    名前のない既定の場所スタックは、現在の場所スタックである場合にのみ完全にアクセスできます。 名前付きの場所スタックを現在の場所スタックにすると、既定のスタックから項目を追加または取得する Push-Location または Pop-Location を使用したり、このコマンドレット コマンドを使用して名前のないスタック内の場所を表示したりできなくなります。 名前のないスタックを現在のスタックにするには、Set-Location コマンドレットの StackName パラメーターを $null の値または空の文字列 ("") と共に使用します。