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 の場所スタックに最後に追加された場所に場所を変更します。
ロケーション スタックの詳細については、Notesを参照してください。
例 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:\>
これらのコマンドでは、Push-Location
コマンドレットと Pop-Location
コマンドレットを使用して、さまざまな PowerShell プロバイダーでサポートされている場所間を移動します。 コマンドでは、Push-Location
の pushd
エイリアスと Pop-Location
の popd
エイリアスを使用します。
最初のコマンドは、現在のファイル システムの場所をスタックにプッシュし、PowerShell レジストリ プロバイダーでサポートされている HKLM ドライブに移動します。
2 番目のコマンドは、レジストリの場所をスタックにプッシュし、PowerShell 証明書プロバイダーでサポートされている場所に移動します。
最後の 2 つのコマンドは、これらの場所をスタックからポップします。 最初の popd
コマンドはレジストリ ドライブに戻り、2 番目のコマンドはファイル システム ドライブに戻ります。
パラメーター
-PassThru
場所を表すオブジェクトをパイプラインに渡します。 既定では、このコマンドレットは出力を生成しません。
型: | SwitchParameter |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | False |
ワイルドカード文字を受け取る: | False |
-StackName
位置がポップされる場所スタックを指定します。 場所スタック名を入力します。
このパラメーターを指定しない場合、Pop-Location
は現在の場所スタックから場所をポップします。 既定では、現在の場所スタックは、PowerShell によって作成される名前のない既定の場所スタックです。 場所スタックを現在の場所スタックにするには、Set-Location
コマンドレットの StackName パラメーターを使用します。 ロケーション スタックの詳細については、Notesを参照してください。
Pop-Location
は、現在の場所スタックでない限り、名前のない既定のスタックから場所をポップすることはできません。
型: | String |
配置: | Named |
規定値: | None |
必須: | False |
パイプライン入力を受け取る: | True |
ワイルドカード文字を受け取る: | False |
入力
None
このコマンドレットにオブジェクトをパイプすることはできません。
出力
None
既定では、このコマンドレットは出力を返しません。
PassThru パラメーターを使用すると、このコマンドレットは、コマンドレットの操作後に現在のパスを表す PathInfo オブジェクトを返します。
メモ
PowerShell には、Pop-Location
の次のエイリアスが含まれています。
- すべてのプラットフォーム:
popd
PowerShell では、プロセスごとに複数の実行空間がサポートされます。 各実行空間には、独自の 現在のディレクトリがあります。
これは [System.Environment]::CurrentDirectory
と同じではありません. この動作は、.NET API を呼び出したり、明示的なディレクトリ パスを指定せずにネイティブ アプリケーションを実行したりする場合に問題になる可能性があります。
場所コマンドレットによってプロセス全体の現在のディレクトリが設定された場合でも、別の実行空間によっていつでも変更される可能性があるため、それに依存することはできません。 location コマンドレットを使用して、現在の実行空間に固有の現在の作業ディレクトリを使用してパスベースの操作を実行する必要があります。
スタックは、最後に追加された項目にのみアクセスできる、最後に追加された先入れ先出しリストです。 アイテムを使用する順序でスタックに追加し、逆の順序で使用するためにアイテムを取得します。 PowerShell を使用すると、プロバイダーの場所を場所スタックに格納できます。
PowerShell では、名前のない既定の場所スタックが作成され、複数の名前付き場所スタックを作成できます。 スタック名を指定しない場合、PowerShell は現在の場所スタックを使用します。 既定では、名前のない既定の場所は現在の場所スタックですが、Set-Location
コマンドレットを使用して現在の場所スタックを変更できます。
場所スタックを管理するには、次のように PowerShell *-Location
コマンドレットを使用します。
場所スタックに場所を追加するには、
Push-Location
コマンドレットを使用します。場所スタックから場所を取得するには、
Pop-Location
コマンドレットを使用します。現在の場所スタックの場所を表示するには、
Get-Location
コマンドレットの Stack パラメーターを使用します。名前付き場所スタックに場所を表示するには、
Get-Location
コマンドレットの StackName パラメーターを使用します。新しい場所スタックを作成するには、
Push-Location
コマンドレットの StackName パラメーターを使用します。 存在しないスタックを指定した場合は、スタックPush-Location
作成されます。場所スタックを現在の場所スタックにするには、
Set-Location
コマンドレットの StackName パラメーターを使用します。
名前のない既定の場所スタックは、現在の場所スタックである場合にのみ完全にアクセスできます。
名前付き場所スタックを現在の場所スタックにした場合、Push-Location
または Pop-Location
コマンドレットを使用して既定のスタックから項目を追加または取得したり、Get-Location
コマンドレットを使用して名前のないスタック内の場所を表示したりできなくなります。 名前のないスタックを現在のスタックにするには、Set-Location
コマンドレットの StackName パラメーターを使用し、値 $Null
または空の文字列 (""
) を指定します。
また、組み込みのエイリアス、popd
で Pop-Location
を参照することもできます。 詳細については、about_Aliasesを参照してください。
Pop-Location
は、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用可能なプロバイダーを一覧表示するには、「Get-PSProvider
」と入力します。 詳細については、about_Providersを参照してください。
関連リンク
PowerShell