Get-Location
Obtient des informations sur l’emplacement de travail actuel ou une pile d’emplacements.
Syntaxe
Get-Location
[-PSProvider <String[]>]
[-PSDrive <String[]>]
[<CommonParameters>]
Get-Location
[-Stack]
[-StackName <String[]>]
[<CommonParameters>]
Description
L’applet de commande Get-Location
obtient un objet qui représente le répertoire actif, comme la commande pwd (print working directory).
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, comme 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 les notes et les descriptions
Exemples
Exemple 1 : Afficher l’emplacement de votre lecteur actuel
Cette commande affiche votre emplacement dans le lecteur PowerShell actuel.
PS C:\Windows> Get-Location
Path
----
C:\Windows
Par exemple, si vous êtes dans le répertoire Windows
du lecteur C:
, il affiche le chemin d’accès à ce répertoire.
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 modifier l’emplacement en 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 de Stack et de StackName de Get-Location
pour répertorier les emplacements de la pile d’emplacements actuel et d’autres piles d’emplacements.
L’applet de commande Push-Location
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 commande Get-Location
, 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 exemple, si vous êtes dans le lecteur Cert:
, vous pouvez utiliser ce paramètre pour rechercher votre emplacement actuel dans le lecteur C:
.
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 |
-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 accédé.
Par exemple, si vous êtes dans le lecteur C:
, vous pouvez utiliser ce paramètre pour rechercher votre emplacement actuel dans les lecteurs du fournisseur PowerShell Registry.
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 |
-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 commande Push-Location
.
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 lesnotes
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, en tant que tableau de chaînes, les piles d’emplacements nommés. 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 créer une pile d’emplacements, utilisez l’applet de commande Set-Location
.
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 |
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 l’entrée vers cette applet de commande.
Sorties
System.Management.Automation.PathInfo or System.Management.Automation.PathInfoStack
Si vous utilisez les paramètres
Notes
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.
L’applet de commande Get-Location
retourne le répertoire actuel 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.
Les façons dont les paramètresPSProvider
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 commandeGet-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 cette applet de commande 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 (""
).