次の方法で共有


Push-Location

現在の場所を、場所スタックの最上部に追加します。

構文

Push-Location
    [[-Path] <String>]
    [-PassThru]
    [-StackName <String>]
    [<CommonParameters>]
Push-Location
    [-LiteralPath <String>]
    [-PassThru]
    [-StackName <String>]
    [<CommonParameters>]

説明

コマンドレットは Push-Location 、現在の場所を場所スタックに追加 ("pushes") します。 パスを指定した場合は、 Push-Location 現在の場所を場所スタックにプッシュし、現在の場所をパスで指定された場所に変更します。 コマンドレットを Pop-Location 使用して、場所スタックから場所を取得できます。

既定では、コマンドレットは Push-Location 現在の場所を現在の場所スタックにプッシュしますが、 StackName パラメーターを使用して代替の場所スタックを指定できます。 スタックが存在しない場合は、 Push-Location スタックを作成します。

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

例 1

次の使用例は、現在の場所を既定の場所スタックにプッシュし、場所を に C:\Windows変更します。

PS C:\> Push-Location C:\Windows

例 2

次の使用例は、現在の場所を RegFunction スタックにプッシュし、現在の場所をその場所に HKLM:\Software\Policies 変更します。

PS C:\> Push-Location HKLM:\Software\Policies -StackName RegFunction

Location コマンドレットは、任意の PowerShell ドライブ (PSDrive) で使用できます。

例 3

このコマンドを実行すると、現在の場所が既定のスタックにプッシュされます。 場所は変更されません。

PS C:\> Push-Location

例 4 - 名前付きスタックをCreateして使用する

これらのコマンドは、名前付き場所スタックを作成および使用する方法を示しています。

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名前のない既定のスタックから場所がポップされます。

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

パラメーター

-LiteralPath

新しい場所のパスを指定します。 Path パラメーターと異なり、LiteralPath パラメーターの値は入力したとおりに使用されます。 ワイルドカードとして解釈される文字はありません。 パスにエスケープ文字が含まれている場合は、単一引用符で囲みます。 一重引用符は、文字をエスケープ シーケンスとして解釈しないように PowerShell に指示します。

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

-PassThru

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

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

-Path

現在の場所をスタックの最上部に追加 (プッシュ) してから、このパスが示す場所に移動します。 このコマンドレットをサポートするプロバイダーの任意のパスを入力します。 ワイルドカードを使用できます。 パラメーター名は省略可能です。

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

-StackName

現在の場所を追加する場所スタックを指定します。 場所スタック名を入力します。 スタックが存在しない場合は、 Push-Location スタックを作成します。

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

注意

Push-Location は、現在の場所スタックでない限り、名前のない既定のスタックに場所を追加できません。

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

入力

String

パスを含む文字列 (リテラル パスは含まない) をこのコマンドレットにパイプできます。

出力

None

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

PathInfo

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

メモ

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

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

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

location コマンドレットによってプロセス全体の現在のディレクトリが設定された場合でも、別の実行空間によっていつでも変更される可能性があるため、それに依存することはできません。 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 使用します。

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

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

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