Partager via


Get-Location

Obtient des informations sur l’emplacement de travail actuel ou une pile d’emplacements.

Syntaxe

Location (Par défaut)

Get-Location
    [-PSProvider <String[]>]
    [-PSDrive <String[]>]
    [-UseTransaction]
    [<CommonParameters>]

Stack

Get-Location
    [-Stack]
    [-StackName <String[]>]
    [-UseTransaction]
    [<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 Windows PowerShell à l’autre, Windows 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 Windows 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 des paramètres Stack et StackName.

Exemples

Exemple 1 : Afficher l’emplacement de votre lecteur actuel

PS C:\> Get-Location
Path
----
C:\WINDOWS

Cette commande affiche votre emplacement dans le lecteur Windows PowerShell actuel.

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

The first command uses the **Set-Location** cmdlet to set the current location to the Windows subdirectory of the C: drive.
PS C:\> Set-Location C:\Windows

The second command uses the **Set-Location** cmdlet to change the location to the HKLM:\Software\Microsoft registry key. When you change to a location in the HKLM: drive, Windows PowerShell retains your location in the C: drive.
PS C:\>
PS C:\WINDOWS> Set-Location HKLM:\Software\Microsoft
PS HKLM:\Software\Microsoft>

The third command uses the **Set-Location** cmdlet to change the location to the HKCU:\Control Panel\Input Method registry key.
PS C:\>
PS HKLM:\Software\Microsoft> Set-Location "HKCU:\Control Panel\Input Method"
PS HKCU:\Control Panel\Input Method>

The fourth command uses the **Get-Location** cmdlet to find the current location on the C: drive. It uses the *PSDrive* parameter to specify the drive.
PS C:\>
PS HKCU:\Control Panel\Input Method> Get-Location -PSDrive C



Path
----
C:\WINDOWS

The fifth command uses the **Set-Location** cmdlet to return to the C: drive. Even though the command does not specify a subdirectory, Windows PowerShell returns you to the saved location.
PS C:\>
PS HKCU:\Control Panel\Input Method> Set-Location C:
PS C:\WINDOWS>

The sixth command uses the **Get-Location** cmdlet to find the current location in the drives supported by the Windows PowerShell registry provider. **Get-Location** returns the location of the most recently accessed registry drive, HKCU.
PS C:\>
PS C:\WINDOWS> Get-Location -PSProvider registry




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

To see the current location in the HKLM: drive, you need to use the *PSDrive* parameter to specify the drive. The seventh command does just this:
PS C:\>
PS C:\WINDOWS> Get-Location -PSDrive HKLM



Path
----
HKLM:\Software\Microsoft

Cet exemple illustre l’utilisation de get-location pour afficher votre emplacement actuel dans différents lecteurs Windows PowerShell.

Exemple 3 : répertorier les emplacements dans la pile d’emplacements actuelle et les autres piles d’emplacements

The first command sets the current location to the Windows directory on the C: drive.
PS C:\> Set-Location C:\Windows

The second command uses the **Push-Location** cmdlet to push the current location (C:\Windows) onto the current location stack and change to the System32 subdirectory. Because no stack is specified, the current location is pushed onto the current location stack. By default, the current location stack is the unnamed default location stack.
C:\WINDOWS> Push-Location System32

The third command uses the *StackName* parameter of the **Push-Location** cmdlet to push the current location (C:\Windows\System32) onto the Stack2 stack and to change the current location to the WindowsPowerShell subirectory. If the Stack2 stack does not exist, **Push-Location** creates it.
C:\Windows\System32> Push-Location WindowsPowerShell -StackName Stack2

The fourth command uses the *Stack* parameter of the **Get-Location** cmdlet to get the locations in the current location stack. By default, the current stack is the unnamed default location stack.
C:\WINDOWS\system32\WindowsPowerShell> Get-Location -Stack
Path
----
C:\WINDOWS

The fifth command uses the *StackName* parameter of the **Get-Location** cmdlet to get the locations in the Stack2 stack.
PS C:\>
C:\WINDOWS\system32\WindowsPowerShell>get-location -stackname Stack2



Path
----
C:\WINDOWS\system32

Cette commande montre comment utiliser les paramètres stack et StackName des Get-Location pour répertorier les emplacements dans la pile d’emplacements actuelle et d’autres piles d’emplacements. Pour plus d’informations sur les piles d’emplacements, consultez les notes.

Exemple 4 : Personnaliser l’invite Windows PowerShell

PS C:\>
function prompt { 'PowerShell: ' + (get-location) + '> '}
PowerShell: C:\WINDOWS>

Cet exemple montre comment personnaliser l’invite Windows PowerShell. 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 Windows PowerShell par défaut est défini par une fonction spéciale nommée invite. Vous pouvez modifier l’invite dans votre console en créant une invite nommée de fonction.

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

La commande commence par le mot clé de fonction suivi du nom de la fonction, invite. Le corps de la fonction apparaît dans les accolades ({}).

Cette commande définit une nouvelle invite qui commence par la chaîne PowerShell : . Pour ajouter l’emplacement actuel, il utilise une commande Get-Location, qui s’exécute lorsque la fonction d’invite est appelée. L’invite se termine par la chaîne «> ».

Paramètres

-PSDrive

Spécifie l’emplacement actuel dans le lecteur Windows PowerShell spécifié que cette applet de commande obtient dans l’opération.

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

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

Jeux de paramètres

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

-PSProvider

Spécifie l’emplacement actuel dans le lecteur pris en charge par le fournisseur Windows PowerShell que cette applet de commande obtient dans l’opération.

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 Windows PowerShellRegistry.

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

Jeux de paramètres

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

-Stack

Indique que cette applet de commande affiche les emplacements dans la pile d’emplacements actuelle.

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 les notes.

Propriétés du paramètre

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

Jeux de paramètres

Stack
Position:Named
Obligatoire:False
Valeur du pipeline:False
Valeur du pipeline par nom de propriété:False
Valeur des arguments restants: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 le paramètre Set-Location. Pour plus d’informations sur les piles d’emplacements, consultez les notes.

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.

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

Jeux de paramètres

Stack
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

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 renvoie un objet StackInfo. Sinon, elle retourne un objet PathInfo.

Notes

  • 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 , PSDrive, Stacket StackName interagissent dépend du fournisseur. Certaines combinaisons entraînent des erreurs, telles que 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 retourne l’objet PathInfo pour le fournisseur qui contient l’emplacement de travail actuel.

    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. Windows PowerShell vous permet de stocker les emplacements des fournisseurs dans les piles d’emplacements. Windows 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, Windows PowerShell utilise la pile d’emplacements actuelle. Par défaut, l’emplacement par défaut non nommé 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 Windows PowerShellLocation, 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 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, 'emplacement push 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 l' d’emplacement push ou emplacement contextuel ajouter ou obtenir des éléments à partir de la pile par défaut ou utiliser cette commande d’applet de commande pour afficher les emplacements dans la pile non nommée. 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 ( » « ).