Partager via


Push-Location

Ajoute l'emplacement actuel au sommet d'une liste d'emplacements.

Syntax

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

Description

L’applet Push-Location de commande ajoute (« envoie ») l’emplacement actuel à une pile d’emplacements. Si vous spécifiez un chemin d’accès, Push-Location envoie l’emplacement actuel à une pile d’emplacements, puis remplace l’emplacement actuel par l’emplacement spécifié par le chemin d’accès. Vous pouvez utiliser l’applet de Pop-Location commande pour obtenir des emplacements à partir de la pile d’emplacements.

Par défaut, l’applet de Push-Location commande envoie (push) l’emplacement actuel sur la pile d’emplacements actuelle, mais vous pouvez utiliser le paramètre StackName pour spécifier une autre pile d’emplacements. Si la pile n’existe pas, Push-Location crée-la.

Pour plus d’informations sur les piles d’emplacements, consultez notes.

Exemples

Exemple 1

Cet exemple montre comment envoyer (push) l’emplacement actuel sur la pile d’emplacements par défaut, puis modifier l’emplacement en C:\Windows.

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

Exemple 2

Cet exemple montre comment envoyer l’emplacement actuel à la pile RegFunction et modifier l’emplacement actuel à l’emplacement HKLM:\Software\Policies .

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

Vous pouvez utiliser les applets de commande Location dans n’importe quel lecteur PowerShell (PSDrive).

Exemple 3

Cette commande place l'emplacement actuel sur la pile par défaut. Elle ne modifie pas l'emplacement.

PS C:\> Push-Location

Exemple 4 - Create et utiliser une pile nommée

Ces commandes indiquent comment créer et utiliser une pile d'emplacement nommée.

PS C:\> Push-Location ~ -StackName Stack2
PS C:\Users\User01> Pop-Location -StackName Stack2
PS C:\>

La première commande envoie l’emplacement actuel sur une nouvelle pile nommée Stack2, puis remplace l’emplacement actuel en répertoire de base, représenté dans la commande par le symbole tilde (~), qui, lorsqu’il est utilisé sur un lecteur de fournisseur FileSystem, équivaut à $HOME et $env:USERPROFILE.

Si Stack2 n’existe pas encore dans la session, Push-Location crée-le. La deuxième commande utilise l’applet de Pop-Location commande pour afficher l’emplacement d’origine (C:\) à partir de la pile Stack2. Sans le paramètre StackName , Pop-Location l’emplacement s’affiche à partir de la pile par défaut sans nom.

Pour plus d’informations sur les piles d’emplacements, consultez notes.

Paramètres

-LiteralPath

Spécifie le chemin d'accès au nouvel emplacement. Contrairement au paramètre Path, la valeur du paramètre LiteralPath est utilisée exactement telle qu'elle est tapée. Aucun caractère n’est interprété en tant que caractère générique. Si le chemin d’accès inclut des caractères d’échappement, mettez-le entre des guillemets simples. Les guillemets simples indiquent à PowerShell de ne pas interpréter de caractères comme des séquences d’échappement.

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

-PassThru

Passe un objet représentant l'emplacement au pipeline. Par défaut, cette applet de commande ne génère aucun résultat.

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

-Path

Définit votre emplacement sur l'emplacement spécifié par ce chemin d'accès après avoir (ajouté) placé l'emplacement actuel au sommet de la pile. Entrez un chemin d'accès à n'importe quel emplacement dont le fournisseur prend en charge cette applet de commande. Les caractères génériques sont autorisés. Le nom de paramètre est facultatif.

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

-StackName

Spécifie la pile d'emplacements à laquelle l'emplacement actuel est ajouté. Entrez un nom de pile d'emplacements. Si la pile n’existe pas, Push-Location crée-la.

Sans ce paramètre, Push-Location ajoute l’emplacement à la pile d’emplacements actuelle. Par défaut, la pile d’emplacements actuelle est la pile d’emplacements par défaut sans nom que PowerShell crée. Pour faire d’une pile d’emplacements la pile d’emplacements actuelle, utilisez le paramètre StackName de l’applet Set-Location de commande. Pour plus d’informations sur les piles d’emplacements, consultez notes.

Notes

Push-Location impossible d’ajouter un emplacement à la pile par défaut sans nom, sauf s’il s’agit de la pile d’emplacements actuelle.

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

Entrées

String

Vous pouvez diriger une chaîne qui contient un chemin d’accès (mais pas un chemin littéral) vers Push-Location.

Sorties

None or System.Management.Automation.PathInfo

Lorsque vous utilisez le paramètre PassThru , Push-Location génère un objet System.Management.Automation.PathInfo qui représente l’emplacement. Sinon, cette applet de commande ne génère aucune sortie.

Notes

PowerShell prend en charge plusieurs runspaces par processus. Chaque runspace a son propre répertoire actif. Ce n’est pas la même chose que [System.Environment]::CurrentDirectory. Ce comportement peut être un problème lors de l’appel d’API .NET ou de l’exécution d’applications natives sans fournir de chemins d’annuaire explicites.

Même si les applets de commande d’emplacement ont défini le répertoire actif à l’échelle du processus, vous ne pouvez pas en dépendre, car un autre runspace peut le modifier à tout moment. Vous devez utiliser les applets de commande d’emplacement pour effectuer des opérations basées sur le chemin à l’aide du répertoire de travail actuel spécifique à l’espace d’exécution actuel.

Une pile est une liste de derniers entrants dans laquelle seul l’élément le plus récemment ajouté est accessible. Vous ajoutez des éléments à une pile dans l'ordre dans lequel vous les utilisez, puis les récupérez pour une utilisation dans l'ordre inverse. PowerShell vous permet de stocker des emplacements de fournisseur dans des piles d’emplacements.

PowerShell crée une pile d’emplacements par défaut sans nom et vous pouvez créer plusieurs piles d’emplacements nommés. Si vous ne spécifiez pas de nom de pile, PowerShell utilise la pile d’emplacements actuelle. Par défaut, l’emplacement par défaut sans nom est la pile d’emplacements actuelle, mais vous pouvez utiliser l’applet de Set-Location commande pour modifier la pile d’emplacements actuelle.

Pour gérer les piles d’emplacements, utilisez les applets de commande Emplacement PowerShell, comme suit.

  • Pour ajouter un emplacement à une pile d’emplacements, utilisez l’applet de Push-Location commande .

  • Pour obtenir un emplacement à partir d’une pile d’emplacements, utilisez l’applet de Pop-Location commande .

  • Pour afficher les emplacements dans la pile d’emplacements actuelle, utilisez le paramètre Stack de l’applet Get-Location de commande.

  • Pour afficher les emplacements dans une pile d’emplacements nommée, utilisez le paramètre StackName de l’applet Get-Location de commande.

  • Pour créer une pile d’emplacements, utilisez le paramètre StackName de l’applet Push-Location de commande. Si vous spécifiez une pile qui n’existe pas, Push-Location crée la pile.

  • Pour faire d’une pile d’emplacements la pile d’emplacements actuelle, utilisez le paramètre StackName de l’applet Set-Location de commande.

La pile d'emplacements par défaut sans nom n'est entièrement accessible que s'il s'agit de la pile d'emplacements active. Si vous faites d’une pile d’emplacements nommés la pile d’emplacements actuelle, vous ne pouvez plus utiliser les Push-Location applets de commande ou Pop-Location pour ajouter ou obtenir des éléments de la pile par défaut ou utiliser l’applet Get-Location de commande pour afficher les emplacements dans la pile sans nom. Pour que la pile sans nom soit la pile actuelle, utilisez le paramètre StackName de l’applet Set-Location de $null commande avec la valeur ou une chaîne vide ("").

Vous pouvez également faire référence à par Push-Location son alias intégré, pushd. Pour plus d’informations, consultez about_Aliases.

L’applet Push-Location de commande est conçue pour fonctionner avec les données exposées par n’importe quel fournisseur. Pour répertorier les fournisseurs disponibles dans votre session, tapez Get-PSProvider. Pour plus d'informations, consultez about_Providers.