Partager via


Push-Location

Ajoute l’emplacement actuel en haut d’une pile d’emplacements.

Syntaxe

Path (Par défaut)

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

LiteralPath

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

Description

L’applet de commande Push-Location ajoute (« push ») l’emplacement actuel sur une pile d’emplacements. Si vous spécifiez un chemin d’accès, Push-Location envoie (push) l’emplacement actuel sur 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 commande Pop-Location pour obtenir des emplacements à partir de la pile d’emplacements.

Par défaut, l’applet de commande Push-Location 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 la crée.

Pour plus d’informations sur les piles d’emplacement, veuillez consulter la section Notes.

Exemples

Exemple 1

Cet exemple envoie (push) l’emplacement actuel sur la pile d’emplacements par défaut, puis remplace l’emplacement par C:\Windows.

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

Exemple 2

Cet exemple envoie (push) l’emplacement actuel sur la pile RegFunction et remplace l’emplacement actuel par 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 envoie (push) l’emplacement actuel sur la pile par défaut. Il ne modifie pas l’emplacement.

PS C:\> Push-Location

Exemple 4 : Créer et utiliser une pile nommée

Ces commandes montrent comment créer et utiliser une pile d’emplacements nommés.

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

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

Si Stack2 n’existe pas déjà dans la session, Push-Location la crée. La deuxième commande utilise l’applet de commande Pop-Location pour afficher l’emplacement d’origine (C:\) à partir de la pile Stack2. Sans le paramètre StackName, Pop-Location pop the location from the unnamed default stack.

Pour plus d’informations sur les piles d’emplacement, veuillez consulter la section 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 comme il est typé. 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 séquences d’échappement.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:False
DontShow:False
Alias:PSPath

Jeux de paramètres

LiteralPath
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-PassThru

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

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

-Path

Remplace votre emplacement par l’emplacement spécifié par ce chemin après l’ajout (push) de l’emplacement actuel en haut 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 du paramètre est facultatif.

Propriétés du paramètre

Type:String
Valeur par défaut:None
Prend en charge les caractères génériques:True
DontShow:False

Jeux de paramètres

Path
Position:1
Obligatoire:False
Valeur du pipeline:True
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-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 la crée.

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 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’emplacement, veuillez consulter la section Notes.

Remarque

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

Propriétés du paramètre

Type:String
Valeur par défaut:Default stack
Prend en charge les caractères génériques:False
DontShow:False

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:True
Valeur des arguments restants:False

-UseTransaction

Inclut la commande dans la transaction active. Ce paramètre est valide uniquement lorsqu’une transaction est en cours. Pour plus d’informations, consultez about_Transactions.

Propriétés du paramètre

Type:SwitchParameter
Valeur par défaut:False
Prend en charge les caractères génériques:False
DontShow:False
Alias:usetx

Jeux de paramètres

(All)
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants:False

CommonParameters

Cette applet de commande prend en charge les paramètres courants : -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction et -WarningVariable. Pour plus d’informations, consultez about_CommonParameters.

Entrées

String

Vous pouvez diriger une chaîne qui contient un chemin d’accès (mais pas un chemin littéral) 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

Windows PowerShell inclut les alias suivants pour Push-Location:

  • pushd

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 Emplacement PowerShell, 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 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 à Push-Location par son alias intégré, pushd. Pour plus d’informations, consultez about_Aliases.

L’applet de commande Push-Location 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, voir about_Providers.