Partager via


Get-Location

Obtient des informations sur l'emplacement de travail actif ou une pile d'emplacements.

Syntax

Get-Location
   [-PSProvider <String[]>]
   [-PSDrive <String[]>]
   [<CommonParameters>]
Get-Location
   [-Stack]
   [-StackName <String[]>]
   [<CommonParameters>]

Description

L’applet Get-Location de commande obtient un objet qui représente le répertoire actif, tout comme la commande print working directory (pwd).

Lorsque vous passez d’un lecteur PowerShell à l’autre, PowerShell conserve votre emplacement dans chaque lecteur. Vous pouvez utiliser cette applet de commande pour rechercher votre emplacement dans chaque lecteur.

Vous pouvez utiliser cette applet de commande pour obtenir le répertoire actif au moment de l’exécution et l’utiliser dans des fonctions et des scripts, par exemple dans une fonction qui affiche le répertoire actif dans l’invite PowerShell.

Vous pouvez également utiliser cette applet de commande pour afficher les emplacements dans une pile d’emplacements. Pour plus d’informations, consultez Notes et les descriptions des paramètres Stack et StackName .

Exemples

Exemple 1 : Afficher l’emplacement actuel de votre lecteur

Cette commande affiche votre emplacement dans le lecteur PowerShell actuel.

PS C:\Windows> Get-Location

Path
----
C:\Windows

Par instance, si vous êtes dans le Windows répertoire du C: lecteur, le chemin d’accès à ce répertoire s’affiche.

Exemple 2 : Afficher votre emplacement actuel pour différents lecteurs

Cet exemple illustre l’utilisation de Get-Location pour afficher votre emplacement actuel dans différents lecteurs PowerShell. Set-Location est utilisé pour remplacer l’emplacement par plusieurs chemins différents sur différents PSDrives.

PS C:\> Set-Location C:\Windows
PS C:\Windows> Set-Location HKLM:\Software\Microsoft
PS HKLM:\Software\Microsoft> Set-Location "HKCU:\Control Panel\Input Method"
PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive C

Path
----
C:\Windows

PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive HKLM

Path
----
HKLM:\Software\Microsoft

PS HKCU:\Control Panel\Input Method> Set-Location C:
PS C:\Windows> Get-Location -PSProvider Registry

Path
----
HKCU:\Control Panel\Input Method

Exemple 3 : Obtenir des emplacements à l’aide de piles

Cet exemple montre comment utiliser les paramètres Stack et StackName de Get-Location pour répertorier les emplacements dans la pile d’emplacements actuelle et les autres piles d’emplacements.

L’applet Push-Location de commande est utilisée pour passer à trois emplacements différents. Le troisième push utilise un nom de pile différent. Le paramètre Stack de Get-Location affiche le contenu de la pile par défaut. Le paramètre StackName de Get-Location affiche le contenu de la pile nommée Stack2.

PS C:\> Push-Location C:\Windows
PS C:\Windows>Push-Location System32
PS C:\Windows\System32>Push-Location WindowsPowerShell -StackName Stack2
C:\Windows\System32\WindowsPowerShell>Get-Location -Stack

Path
----
C:\Windows
C:\

C:\Windows\System32\WindowsPowerShell>Get-Location -StackName Stack2

Path
----
C:\Windows\System32

Exemple 4 : Personnaliser l’invite PowerShell

Cet exemple montre comment personnaliser l’invite PowerShell.

PS C:\>
function prompt { 'PowerShell: ' + (Get-Location) + '> '}
PowerShell: C:\>

La fonction qui définit l’invite inclut une Get-Location commande, qui est exécutée chaque fois que l’invite apparaît dans la console.

Le format de l’invite PowerShell par défaut est défini par une fonction spéciale nommée prompt. Vous pouvez modifier l’invite dans votre console en créant une fonction nommée prompt.

Pour afficher la fonction d’invite actuelle, tapez la commande suivante : Get-Content Function:\prompt

Paramètres

-PSDrive

Obtient l’emplacement actuel dans le lecteur PowerShell spécifié.

Par instance, si vous êtes dans le Cert: lecteur, vous pouvez utiliser ce paramètre pour rechercher votre emplacement actuel dans le C: lecteur.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-PSProvider

Obtient l’emplacement actuel dans le lecteur pris en charge par le fournisseur PowerShell spécifié. Si le fournisseur spécifié prend en charge plusieurs lecteurs, cette applet de commande retourne l’emplacement sur le lecteur le plus récemment consulté.

Par exemple, si vous êtes dans le C: lecteur, vous pouvez utiliser ce paramètre pour rechercher votre emplacement actuel dans les lecteurs du fournisseur de Registre PowerShell.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

-Stack

Indique que cette applet de commande affiche les emplacements ajoutés à la pile d’emplacements actuelle. Vous pouvez ajouter des emplacements aux piles à l’aide de l’applet de Push-Location commande .

Pour afficher les emplacements dans une autre pile d’emplacements, utilisez le paramètre StackName . Pour plus d’informations sur les piles d’emplacements, consultez notes.

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

-StackName

Spécifie, en tant que tableau de chaînes, les piles d’emplacements nommées. Entrez un ou plusieurs noms de pile d'emplacements.

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

Cette applet de commande ne peut pas afficher les emplacements dans la pile par défaut sans nom, sauf s’il s’agit de la pile actuelle.

Type:String[]
Position:Named
Default value:None
Required:False
Accept pipeline input:True
Accept wildcard characters:False

Entrées

None

Vous ne pouvez pas diriger d'entrée vers cette applet de commande.

Sorties

System.Management.Automation.PathInfo or System.Management.Automation.PathInfoStack

Si vous utilisez les paramètres Stack ou StackName , cette applet de commande retourne un objet PathInfoStack . Sinon, il retourne un objet PathInfo .

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. L’applet Get-Location de commande retourne le répertoire actif de l’instance d’exécution PowerShell actuelle.

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

La façon dont les paramètres PSProvider, PSDrive, Stack et StackName interagissent dépend du fournisseur. Certaines combinaisons provoquent des erreurs, par exemple la spécification d'un lecteur et d'un fournisseur qui n'expose pas ce lecteur. Si aucun paramètre n’est spécifié, cette applet de commande renvoie l’objet PathInfo pour le fournisseur qui contient l’emplacement de travail 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 PowerShell *-Location , 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 cette applet 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 ("").