Partager via


Pop-Location

Remplace l’emplacement actuel par l’emplacement le plus récemment envoyé sur la pile.

Syntaxe

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

Description

L’applet de commande Pop-Location remplace l’emplacement actuel par l’emplacement le plus récemment envoyé sur la pile à l’aide de l’applet de commande Push-Location. Vous pouvez afficher un emplacement à partir de la pile par défaut ou d’une pile que vous créez à l’aide d’une commande Push-Location.

Exemples

Exemple 1 : Passer à l’emplacement le plus récent

PS C:\> Pop-Location

Cette commande remplace votre emplacement par l’emplacement récemment ajouté à la pile actuelle.

Exemple 2 : Passer à l’emplacement le plus récent dans une pile nommée

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

Cette commande remplace votre emplacement par l’emplacement récemment ajouté à la pile d’emplacements Stack2.

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

Exemple 3 : Passer d’un emplacement à l’autre pour différents fournisseurs

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:\>

Ces commandes utilisent les applets de commande Push-Location et Pop-Location pour passer d’un emplacement à l’autre pris en charge par différents fournisseurs PowerShell. Les commandes utilisent l’alias pushd pour Push-Location et l’alias popd pour Pop-Location.

La première commande envoie (push) l’emplacement actuel du système de fichiers sur la pile et se déplace vers le lecteur HKLM pris en charge par le fournisseur de Registre PowerShell.

La deuxième commande envoie (push) l’emplacement du Registre sur la pile et se déplace vers un emplacement pris en charge par le fournisseur de certificats PowerShell.

Les deux dernières commandes affichent ces emplacements hors de la pile. La première commande popd retourne au lecteur de Registre, et la deuxième commande retourne au lecteur du système de fichiers.

Paramètres

-PassThru

Transmet un objet qui représente l’emplacement au pipeline. Par défaut, cette applet de commande ne génère aucune sortie.

Type:SwitchParameter
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:False
Accepter les caractères génériques:False

-StackName

Spécifie la pile d’emplacements à partir de laquelle l’emplacement est dépilé. Entrez un nom de pile d’emplacements.

Sans ce paramètre, Pop-Location affiche un emplacement à partir de la pile d’emplacements actuelle. Par défaut, la pile d’emplacements actuelle est la pile d’emplacements par défaut non nommée créée par PowerShell. Pour créer une pile d’emplacements, utilisez le paramètre StackName de l’applet de commande Set-Location. Pour plus d’informations sur les piles d’emplacements, consultez les notes.

Pop-Location ne peut pas afficher un emplacement à partir de la pile par défaut sans nom, sauf s’il s’agit de la pile d’emplacements actuelle.

Type:String
Position:Named
Valeur par défaut:None
Obligatoire:False
Accepter l'entrée de pipeline:True
Accepter les caractères génériques:False

Entrées

None

Vous ne pouvez pas diriger les objets vers cette applet de commande.

Sorties

None

Par défaut, cette applet de commande ne retourne aucune sortie.

PathInfo

Lorsque vous utilisez le paramètre PassThru, cette applet de commande renvoie un objet PathInfo représentant le chemin d’accès actuel après l’opération de l’applet de commande.

Notes

PowerShell inclut les alias suivants pour Pop-Location:

  • Toutes les plateformes :
    • popd

PowerShell prend en charge plusieurs runspaces par processus. Chaque instance d’exécution a son propre répertoire actif . Ce n’est pas le même que [System.Environment]::CurrentDirectory. Ce comportement peut être un problème lors de l’appel d’API .NET ou d’exécution d’applications natives sans fournir de chemins d’accès de répertoire 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 espace d’exécution 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’instance d’exécution actuelle.

Une pile est une liste de dernière entrée et de première sortie dans laquelle seul l’élément ajouté le plus récemment est accessible. Vous ajoutez des éléments à une pile dans l’ordre dans lequel vous les utilisez, puis récupérez-les pour une utilisation dans l’ordre inverse. PowerShell vous permet de stocker des emplacements de fournisseur dans les 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 commande Set-Location pour modifier la pile d’emplacements actuelle.

Pour gérer les piles d’emplacements, utilisez les applets de commande PowerShell *-Location, comme suit :

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

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

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

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

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

  • Pour créer une pile d’emplacements, utilisez le paramètre StackName de l’applet de commande Set-Location.

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

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

Pop-Location est conçu 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.