Push-Location
現在の場所を場所スタックの上部に追加します。
構文
Path (既定)
Push-Location
[[-Path] <String>]
[-PassThru]
[-StackName <String>]
[-UseTransaction]
[<CommonParameters>]
LiteralPath
Push-Location
[-LiteralPath <String>]
[-PassThru]
[-StackName <String>]
[-UseTransaction]
[<CommonParameters>]
説明
Push-Location コマンドレットは、現在の場所を場所スタックに追加 ("プッシュ") します。 パスを指定した場合、Push-Location は現在の場所を場所スタックにプッシュし、現在の場所をパスで指定された場所に変更します。
Pop-Location コマンドレットを使用して、場所スタックから場所を取得できます。
既定では、Push-Location コマンドレットは現在の場所を現在の場所スタックにプッシュしますが、StackName パラメーターを使用して別の場所スタックを指定できます。 スタックが存在しない場合は、Push-Location 作成します。
ロケーション スタックの詳細については、Notesを参照してください。
例
例 1
次の使用例は、現在の場所を既定の場所スタックにプッシュし、場所を C:\Windowsに変更します。
PS C:\> Push-Location C:\Windows
例 2
次の使用例は、現在の場所を RegFunction スタックにプッシュし、現在の場所を HKLM:\Software\Policies の場所に変更します。
PS C:\> Push-Location HKLM:\Software\Policies -StackName RegFunction
任意の PowerShell ドライブ (PSDrive) で Location コマンドレットを使用できます。
例 3
このコマンドは、現在の場所を既定のスタックにプッシュします。 場所は変更されません。
PS C:\> Push-Location
例 4 - 名前付きスタックを作成して使用する
これらのコマンドは、名前付き場所スタックを作成して使用する方法を示しています。
PS C:\> Push-Location ~ -StackName Stack2
PS C:\Users\User01> Pop-Location -StackName Stack2
PS C:\>
最初のコマンドは、現在の場所を Stack2 という名前の新しいスタックにプッシュし、現在の場所をホーム ディレクトリに変更します。これは、~FileSystem プロバイダー ドライブで使用される場合、$HOMEと同じです。
セッションに Stack2 がまだ存在しない場合は、Push-Location 作成されます。 2 番目のコマンドでは、Pop-Location コマンドレットを使用して、Stack2 スタックから元の場所 (C:\) をポップします。
StackName パラメーターがないと、Pop-Location は名前のない既定のスタックから場所をポップします。
ロケーション スタックの詳細については、Notesを参照してください。
パラメーター
-LiteralPath
新しい場所へのパスを指定します。 Path パラメーターとは異なり、LiteralPath パラメーターの値は、型指定されたとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 単一引用符は、エスケープ シーケンスとして文字を解釈しないように PowerShell に指示します。
パラメーターのプロパティ
| 型: | String |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | PSPath |
パラメーター セット
LiteralPath
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-PassThru
場所を表すオブジェクトをパイプラインに渡します。 既定では、このコマンドレットは出力を生成しません。
パラメーターのプロパティ
| 型: | SwitchParameter |
| 規定値: | False |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-Path
現在の場所をスタックの一番上に追加 (プッシュ) した後、このパスで指定された場所に場所を変更します。 プロバイダーがこのコマンドレットをサポートしている任意の場所へのパスを入力します。 ワイルドカードを使用できます。 パラメーター名は省略可能です。
パラメーターのプロパティ
| 型: | String |
| 規定値: | None |
| ワイルドカードのサポート: | True |
| DontShow: | False |
パラメーター セット
Path
| 配置: | 1 |
| 必須: | False |
| パイプラインからの値: | True |
| プロパティ名別のパイプラインからの値: | True |
| 残りの引数からの値: | False |
-StackName
現在の場所を追加する場所スタックを指定します。 場所スタック名を入力します。
スタックが存在しない場合は、Push-Location 作成します。
このパラメーターを指定しない場合、Push-Location は現在の場所スタックに場所を追加します。 既定では、現在の場所スタックは、PowerShell によって作成される名前のない既定の場所スタックです。
場所スタックを現在の場所スタックにするには、 コマンドレットの Set-Location パラメーターを使用します。 ロケーション スタックの詳細については、Notesを参照してください。
注
Push-Location は、現在の場所スタックでない限り、名前のない既定のスタックに場所を追加できません。
パラメーターのプロパティ
| 型: | String |
| 規定値: | Default stack |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | 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を参照してください。
入力
String
このコマンドレットへのパス (リテラル パスは含まない) を含む文字列をパイプ処理できます。
出力
None
既定では、このコマンドレットは出力を返しません。
PathInfo
PassThru パラメーターを使用すると、このコマンドレットは、コマンドレットの操作後に現在のパスを表す PathInfo オブジェクトを返します。
メモ
Windows PowerShell には、Push-Locationの次のエイリアスが含まれています。
pushd
PowerShell では、プロセスごとに複数の実行空間がサポートされます。 各実行空間には、独自の 現在のディレクトリがあります。
これは [System.Environment]::CurrentDirectoryと同じではありません. この動作は、.NET API を呼び出したり、明示的なディレクトリ パスを指定せずにネイティブ アプリケーションを実行したりする場合に問題になる可能性があります。
場所コマンドレットによってプロセス全体の現在のディレクトリが設定された場合でも、別の実行空間によっていつでも変更される可能性があるため、それに依存することはできません。 location コマンドレットを使用して、現在の実行空間に固有の現在の作業ディレクトリを使用してパスベースの操作を実行する必要があります。
スタックは、最後に追加された項目にのみアクセスできる、最後に追加された先入れ先出しリストです。 アイテムを使用する順序でスタックに追加し、逆の順序で使用するためにアイテムを取得します。 PowerShell を使用すると、プロバイダーの場所を場所スタックに格納できます。
PowerShell では、名前のない既定の場所スタックが作成され、複数の名前付き場所スタックを作成できます。 スタック名を指定しない場合、PowerShell は現在の場所スタックを使用します。 既定では、名前のない既定の場所は現在の場所スタックですが、Set-Location コマンドレットを使用して現在の場所スタックを変更できます。
場所スタックを管理するには、次のように PowerShell Location コマンドレットを使用します。
場所スタックに場所を追加するには、
Push-Locationコマンドレットを使用します。場所スタックから場所を取得するには、
Pop-Locationコマンドレットを使用します。現在の場所スタックの場所を表示するには、 コマンドレットの
Get-Locationパラメーターを使用します。名前付き場所スタックに場所を表示するには、 コマンドレットの
Get-Locationパラメーターを使用します。新しい場所スタックを作成するには、
Push-Locationコマンドレットの StackName パラメーターを使用します。 存在しないスタックを指定した場合は、スタックPush-Location作成されます。場所スタックを現在の場所スタックにするには、
Set-Locationコマンドレットの StackName パラメーターを使用します。
名前のない既定の場所スタックは、現在の場所スタックである場合にのみ完全にアクセスできます。
名前付き場所スタックを現在の場所スタックにした場合、Push-Location または Pop-Location コマンドレットを使用して既定のスタックから項目を追加または取得したり、Get-Location コマンドレットを使用して名前のないスタック内の場所を表示したりできなくなります。 名前のないスタックを現在のスタックにするには、 コマンドレットの Set-Location パラメーターを使用し、値 $null または空の文字列 ("") を指定します。
また、組み込みのエイリアス、Push-Locationで pushd を参照することもできます。 詳細については、about_Aliasesを参照してください。
Push-Location コマンドレットは、任意のプロバイダーによって公開されるデータを操作するように設計されています。 セッションで使用可能なプロバイダーを一覧表示するには、「Get-PSProvider」と入力します。 詳細については、about_Providersを参照してください。