Partager via


about_Path_Syntax

Description courte

Décrit les formats de chemin d’accès complets et relatifs dans PowerShell.

Description longue

Tous les éléments d’un magasin de données accessibles via un fournisseur PowerShell peuvent être identifiés de manière unique par leurs noms de chemin d’accès. Un chemin d’accès est une combinaison du nom de l’élément, du conteneur et des sous-conteneurs dans lesquels se trouve l’élément et du lecteur PowerShell via lequel les conteneurs sont accessibles.

Dans PowerShell, les noms de chemin d’accès peuvent être l’un des deux types suivants : qualifiés et relatifs complets. Un chemin complet se compose de tous les éléments qui composent un chemin d’accès. La syntaxe suivante montre les éléments d’un chemin complet :

[<provider>::]<drive>:[\<container>[\<subcontainer>...]]\<item>

L’espace <provider> réservé fait référence au fournisseur PowerShell via lequel vous accédez au magasin de données. Par exemple, le fournisseur FileSystem vous permet d’accéder aux fichiers et répertoires sur votre ordinateur. Cet élément de la syntaxe est facultatif et n’est jamais nécessaire, car les noms de lecteurs sont uniques sur tous les fournisseurs.

L’espace <drive> réservé fait référence au lecteur PowerShell pris en charge par un fournisseur PowerShell particulier. Dans le cas du fournisseur FileSystem, les lecteurs PowerShell sont mappés aux lecteurs Windows configurés sur votre système. Par exemple, si votre système inclut un A: lecteur et un C: lecteur, le fournisseur FileSystem crée les mêmes lecteurs dans PowerShell.

Une fois que vous avez spécifié le lecteur, vous devez spécifier tous les conteneurs et sous-conteneurs qui contiennent l’élément. Les conteneurs doivent être spécifiés dans l’ordre hiérarchique dans lequel ils existent dans le magasin de données. En d’autres termes, vous devez commencer par le conteneur parent, puis le conteneur enfant dans ce conteneur parent, en répétant le modèle pour chaque conteneur enfant. En outre, chaque conteneur doit être précédé d’une barre oblique inverse.

Remarque

PowerShell vous permet d’utiliser une barre oblique inverse ou une barre oblique pour la compatibilité avec PowerShell sur d’autres plateformes. Cela fonctionne pour les commandes PowerShell, mais peut ne pas fonctionner lorsqu’elles sont utilisées avec des applications natives qui attendent uniquement le séparateur de répertoire natif. Permet [System.IO.Path]::DirectorySeparatorChar de rechercher le caractère utilisé pour votre plateforme.

Une fois que le conteneur et les sous-conteneurs ont été spécifiés, vous devez fournir le nom de l’élément, précédé d’une barre oblique inverse. Par exemple, le nom complet du chemin d’accès du Shell.dll fichier dans le C:\Windows\System32 répertoire est le suivant :

C:\Windows\System32\Shell.dll

Dans ce cas, le lecteur via lequel les conteneurs sont accessibles est le C: lecteur, le conteneur de niveau supérieur est Windows, le sous-conteneur est System32, et l’élément est Shell.dll.

Dans certaines situations, vous n’avez pas besoin de spécifier un chemin complet et pouvez utiliser plutôt un chemin relatif. PowerShell vous permet d’identifier un élément en fonction de son emplacement par rapport à l’emplacement de travail actuel.

PowerShell utilise les séquences de caractères suivantes pour spécifier des chemins relatifs.

  • (.) - Emplacement actuel
  • (..) - Parent de l’emplacement actuel
  • (\) - Racine de l’emplacement actuel

Les exemples suivants sont basés sur le répertoire de travail actuel défini sur C:\Windows.

  • Le chemin .\System relatif se résout en tant que C:\Windows\System
  • Le chemin ..\Program Files relatif se résout en tant que C:\Program Files
  • Le chemin \Program Files relatif se résout en tant que C:\Program Files
  • Le chemin System relatif se résout en tant que C:\Windows\System

Lorsque vous utilisez un chemin d’accès dans une commande, vous pouvez utiliser un chemin complet ou un chemin relatif. Par exemple, supposons que votre répertoire de travail actuel soit C:\Windows. La commande suivante Get-ChildItem récupère tous les éléments du C:\TechDocs répertoire :

Get-ChildItem \TechDocs

La barre oblique inverse indique que la racine du lecteur de l’emplacement de travail actuel doit être utilisée. Étant donné que le répertoire de travail est C:\Windows, la racine du lecteur est le C: lecteur. Étant donné que le TechDocs répertoire se trouve hors de la racine, vous devez spécifier uniquement la barre oblique inverse.

Vous obtenez les mêmes résultats à l’aide du chemin complet :

Get-ChildItem C:\TechDocs

Que vous utilisiez un chemin complet ou un nom de chemin d’accès relatif, un chemin d’accès est important non seulement parce qu’il localise un élément, mais aussi parce qu’il identifie de manière unique l’élément même si cet élément partage le même nom qu’un autre élément dans un autre conteneur.

Par exemple, supposons que vous avez deux fichiers nommés Results.txt. Le premier fichier se trouve dans un répertoire nommé C:\TechDocs\Jan, et le deuxième fichier se trouve dans un répertoire nommé C:\TechDocs\Feb. Le chemin du premier fichier (C:\TechDocs\Jan\Results.txt) et le chemin d’accès du deuxième fichier (C:\TechDocs\Feb\Results.txt) vous permettent de distinguer clairement les deux fichiers.

Prise en charge de l’espace de noms Win32 File

Sur Windows, les applets de commande qui prennent en charge le fournisseur FileSystem prennent également en charge les chemins d’accès qui utilisent le format d’espace de noms Win32 File. Vous ne pouvez utiliser ces chemins qu’avec le paramètre LiteralPath des applets de commande.

Les chemins d’accès dans l’espace de noms Fichier Win32 sont précédés \\?\de . Le préfixe indique aux API Windows de désactiver l’analyse de chaîne et d’envoyer la chaîne qui suit directement au système de fichiers. Par exemple, si le système de fichiers prend en charge des chemins et des noms de fichiers longs, vous pouvez dépasser les limites de MAX_PATH qui sont normalement appliquées par les API Windows.

Pour plus d’informations, consultez Les espaces de noms de fichiers Win32 dans l’affectation de noms de fichiers, de chemins d’accès et d’espaces de noms.

Voir aussi