Set-Location
Définit l'emplacement de travail actif sur un emplacement spécifié.
Syntaxe
Set-Location
[[-Path] <String>]
[-PassThru]
[-UseTransaction]
[<CommonParameters>]
Set-Location
-LiteralPath <String>
[-PassThru]
[-UseTransaction]
[<CommonParameters>]
Set-Location
[-PassThru]
[-StackName <String>]
[-UseTransaction]
[<CommonParameters>]
Description
L’applet Set-Location
de commande définit l’emplacement de travail à un emplacement spécifié. Il peut s’agir d’un répertoire, d’un sous-répertoire, d’un emplacement de Registre ou d’un chemin d’accès de fournisseur.
Vous pouvez également utiliser le paramètre StackName pour créer une pile d’emplacements nommée dans la pile d’emplacements actuelle. Pour plus d'informations sur les piles d'emplacements, consultez les remarques.
Exemples
Exemple 1 : Définir l’emplacement actuel
PS C:\> Set-Location -Path "HKLM:\"
PS HKLM:\>
Cette commande définit l’emplacement actuel à la racine du HKLM:
lecteur.
Exemple 2 : Définir l’emplacement actuel et afficher cet emplacement
PS C:\> Set-Location -Path "Env:\" -PassThru
Path
----
Env:\
PS Env:\>
Cette commande définit l’emplacement actuel à la racine du Env:
lecteur. Il utilise le paramètre PassThru pour diriger PowerShell pour renvoyer un objet PathInfo qui représente l’emplacement Env:\
.
Exemple 3 : Définir l’emplacement sur l’emplacement actuel dans le lecteur C :
PS C:\Windows\> Set-Location HKLM:\
PS HKLM:\> Set-Location C:
PS C:\Windows\>
La première commande définit l’emplacement à la racine du HKLM:
lecteur dans le fournisseur de Registre.
La deuxième commande définit l’emplacement sur l’emplacement actuel du C:
lecteur dans le fournisseur FileSystem.
Lorsque le nom du lecteur est spécifié dans le formulaire <DriveName>:
(sans barre oblique inverse), l’applet de commande définit l’emplacement sur l’emplacement actuel dans PSDrive.
Pour obtenir l’emplacement actuel dans la commande PSDrive utiliser Get-Location -PSDrive <DriveName>
.
Exemple 4 : Définir l’emplacement actuel sur une pile nommée
PS C:\> Push-Location -Path 'C:\Program Files\PowerShell\' -StackName "Paths"
PS C:\Program Files\PowerShell\> Set-Location -StackName "Paths"
PS C:\Program Files\PowerShell\> Get-Location -Stack
Path
----
C:\
La première commande ajoute l’emplacement actuel à la pile Chemins d’accès. La deuxième commande rend la pile d’emplacements chemins d’accès à la pile d’emplacements actuelle. La troisième commande affiche les emplacements dans la pile d’emplacements actuelle.
Les *-Location
applets de commande utilisent la pile d’emplacements actuelle, sauf si une autre pile d’emplacements est spécifiée dans la commande. Pour plus d’informations sur les piles d’emplacements, consultez les notes.
Paramètres
-LiteralPath
Spécifie un chemin d’accès de l’emplacement. 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.
Type: | String |
Alias: | PSPath |
Position: | Named |
Valeur par défaut: | None |
Obligatoire: | True |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | False |
-PassThru
Renvoie un objet PathInfo qui représente l’emplacement. Par défaut, cette applet de commande ne génère aucun résultat.
Type: | SwitchParameter |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
-Path
Spécifiez le chemin d’accès d’un nouvel emplacement de travail. Si aucun chemin d’accès n’est fourni, Set-Location
la valeur par défaut est le répertoire de base de l’utilisateur actuel. Lorsque des caractères génériques sont utilisés, l’applet de commande choisit le conteneur (répertoire, clé de Registre, magasin de certificats) qui correspond au modèle générique. Si le modèle générique correspond à plusieurs conteneurs, l’applet de commande retourne une erreur.
Type: | String |
Position: | 0 |
Valeur par défaut: | None |
Obligatoire: | False |
Accepter l'entrée de pipeline: | True |
Accepter les caractères génériques: | True |
-StackName
Spécifie un nom de pile d’emplacements existant que cette applet de commande rend la pile d’emplacements actuelle. Entrez un nom de pile d'emplacements. Pour indiquer la pile d’emplacements par défaut sans nom, tapez $null
ou une chaîne vide (""
).
L’utilisation de ce paramètre ne modifie pas l’emplacement actuel. Elle modifie uniquement la pile utilisée par les *-Location
applets de commande. Les *-Location
applets de commande agissent sur la pile actuelle, sauf si vous utilisez le paramètre StackName pour spécifier une autre pile. Pour plus d’informations sur les piles d’emplacements, consultez les notes.
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 |
-UseTransaction
Inclut la commande dans la transaction active. Ce paramètre est uniquement valide au cours d’une transaction. Pour plus d’informations, consultez about_Transactions.
Type: | SwitchParameter |
Alias: | usetx |
Position: | Named |
Valeur par défaut: | False |
Obligatoire: | False |
Accepter l'entrée de pipeline: | False |
Accepter les caractères génériques: | False |
Entrées
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.
Lorsque vous utilisez le paramètre PassThru avec Path ou LiteralPath, cette applet de commande retourne un objet PathInfo représentant le nouvel emplacement.
Lorsque vous utilisez le paramètre PassThru avec StackName, cette applet de commande retourne un objet PathInfoStack représentant le nouveau contexte de pile.
Notes
Windows PowerShell inclut les alias suivants pour Set-Location
:
cd
chdir
sl
PowerShell prend en charge plusieurs runspaces par processus. Chaque runspace 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.
L’applet Set-Location
de commande 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, consultez about_Providers.
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 les récupérez 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. 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 Set-Location
de commande pour modifier la pile d’emplacements actuelle.
Pour gérer les piles d’emplacements, utilisez les *-Location
applets de commande, 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
Pop-Location
de 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 deGet-Location
.Pour créer une pile d’emplacements, utilisez le paramètre StackName de
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
Set-Location
.
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 créez une pile d’emplacements nommés dans la pile d’emplacements actuelle, vous ne pouvez plus utiliser les applets de commande ou Pop-Location
les Push-Location
applets de commande pour ajouter ou obtenir des éléments à partir de la pile par défaut ou utiliser l’applet Get-Location
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 Set-Location
de commande avec une valeur ou $null
une chaîne vide (""
).