Différence entre les paramètres -Path et -LiteralPath, -Name et -LiteralName

Pour me soutenir, vous pouvez vous abonner à la chaîne, partager et liker les vidéos, désactiver votre bloqueur de pub ou encore faire un don. Merci!

Bonjour,

La différence entre les paramètres -Path et -LiteralPath, -Name et -LiteralName repose sur la prise en charge ou non des caractères génériques (*?[]).

Vérifions cela avec quelques commandes

# Tester les commandes suivantes :
get-item -LiteralPath C:\Windows\System
get-item -Path C:\Windows\System
# Il n'y a aucune différence
# Tester les commandes suivantes :
get-item -LiteralPath C:\Windows\System??
get-item -Path C:\Windows\System??
# -LiteralPath ne fonctionne pas avec les caractères génériques
# On peut le vérifier en regardant l'aide
Get-Help Get-Item
"-LiteralPath <System.String[]>"
"..."
"Accepter les caractères génériques ? false"
"-Path <System.String[]>"
"..."
"Accepter les caractères génériques ? True"
# Faisons un test en créant 2 dossiers
mkdir c:\book
mkdir c:\look
# Utilisons les caractères génériques pour rechercher les 2 dossiers
Get-Item -Path c:\[bl]ook
# Les deux dossiers s'affichent
Get-Item -LiteralPath c:\[bl]ook
# Aucun résultat
# Un autre test (les caractères [] sont autorisés dans les noms de dossiers et fichiers )
mkdir c:\[bl]ook
Get-Item -LiteralPath c:\[bl]ook
# Le dossier s'affiche

Le principe est le même avec les paramètres -Name et -LiteralName

Liens en relation