Pop-Location

現在の場所を、最後にスタックにプッシュした場所に変更します。

構文

Pop-Location
   [-PassThru]
   [-StackName <String>]
   [<CommonParameters>]

説明

このコマンドレットは Pop-Location 、コマンドレットを使用して、現在の場所をスタックに最近プッシュされた場所に Push-Location 変更します。 場所は、既定のスタックから、またはコマンドを使用して Push-Location 作成したスタックからポップできます。

例 1: 最新の場所に変更する

PS C:\> Pop-Location

このコマンドを実行すると、現在のスタックに最後に追加した場所に移動します。

例 2: 名前付きスタック内の最新の場所に変更する

PS C:\> Pop-Location -StackName "Stack2"

このコマンドを実行すると、場所スタック Stack2 に最後に追加した場所に移動します。

場所スタックの詳細については、「メモ」を参照してください。

例 3: 異なるプロバイダーの場所間を移動する

PS C:\> pushd HKLM:\Software\Microsoft\PowerShell
PS HKLM:\Software\Microsoft\PowerShell> pushd Cert:\LocalMachine\TrustedPublisher
PS cert:\LocalMachine\TrustedPublisher> popd
PS HKLM:\Software\Microsoft\PowerShell> popd
PS C:\>

これらのコマンドでは、コマンドレットとコマンドレットPop-LocationPush-Location使用して、さまざまな PowerShell プロバイダーでサポートされている場所間を移動します。 コマンドはエイリアスを使用しpushd、エイリアスPush-LocationPop-Locationpopd .

最初のコマンドは、現在のファイル システムの場所をスタックにプッシュし、PowerShell レジストリ プロバイダーでサポートされている HKLM ドライブに移動します。

2 番目のコマンドは、レジストリの場所をスタックにプッシュし、PowerShell 証明書プロバイダーでサポートされている場所に移動します。

最後の 2 つのコマンドにより、これらの場所がスタックからポップされます。 最初 popd のコマンドはレジストリ ドライブに戻り、2 番目のコマンドはファイル システム ドライブに戻ります。

パラメーター

-PassThru

場所を表すオブジェクトをパイプラインに渡します。 既定では、このコマンドレットによる出力はありません。

Type:SwitchParameter
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-StackName

場所をポップする場所スタックを指定します。 場所スタック名を入力します。

このパラメーターを指定しない場合は、 Pop-Location 現在の場所スタックから場所をポップします。 既定では、現在の場所スタックは、PowerShell によって作成される名前のない既定の場所スタックです。 場所スタックを現在の場所スタックにするには、コマンドレットの StackName パラメーターを Set-Location 使用します。 場所スタックの詳細については、「メモ」を参照してください。

Pop-Location は、現在の場所スタックでない限り、名前のない既定のスタックから場所をポップできません。

Type:String
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

入力

None

このコマンドレットにオブジェクトをパイプすることはできません。

出力

None

既定では、このコマンドレットは出力を返しません。

PathInfo

PassThru パラメーターを使用すると、このコマンドレットは、コマンドレットの操作後の現在のパスを表す PathInfo オブジェクトを返します。

メモ

PowerShell には、次のエイリアスが Pop-Location含まれています。

  • すべてのプラットフォーム:
    • popd

PowerShell では、プロセスごとに複数の実行空間がサポートされます。 各実行空間には、独自 の現在のディレクトリがあります。 これは同じ [System.Environment]::CurrentDirectoryではありません. この動作は、.NET API を呼び出したり、明示的なディレクトリ パスを指定せずにネイティブ アプリケーションを実行したりする場合に問題になる可能性があります。

場所コマンドレットによってプロセス全体の現在のディレクトリが設定された場合でも、別の実行空間によっていつでも変更される可能性があるため、それに依存することはできません。 location コマンドレットを使用して、現在の実行空間に固有の現在の作業ディレクトリを使用してパスベースの操作を実行する必要があります。

スタックは、最後に追加された項目にのみアクセスできる、最後に追加された先入れ先出しリストです。 使用した順序でスタックに項目を追加し、その後、逆の順序で使用するために項目を取得します。 PowerShell を使用すると、プロバイダーの場所を場所スタックに格納できます。

PowerShell では、名前のない既定の場所スタックが作成され、複数の名前付き場所スタックを作成できます。 スタック名を指定しない場合、PowerShell は現在の場所スタックを使用します。 既定では、名前のない既定の場所は現在の場所スタックですが、コマンドレットを Set-Location 使用して現在の場所スタックを変更できます。

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

  • 場所スタックに場所を追加するには、コマンドレットを Push-Location 使用します。

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

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

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

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

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

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

組み込みのエイリアスpopdで参照Pop-Locationすることもできます。 詳細については、「about_Aliases」を参照してください。

Pop-Location は、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用可能なプロバイダーを一覧表示するには、「.」と入力します Get-PSProvider。 詳細については、「about_Providers」を参照してください