Powershell - Extraire le nom d'un fichier avec/sans son extension à partir de son chemin complet

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,

Comment extraire le nom d’un fichier avec/sans son extension à partir de son chemin complet en Powershell ?

C’est ce que nous allons voir dans cet article.

Je propose une solution basée sur .Net (System.IO.Path) qui ne nécessite pas que le fichier existe et une autre solution qui nécessite l’existence du fichier.

Au passage, je donne aussi le code pour retrouver la lettre de lecteur et le chemin du dossier dans lequel le fichier est.

# Variables de démonstration
$Path1 = "$env:windir\system32\windowspowershell\v1.0\powershell_ise.exe"
$Path2 = 'c:\chemin\inexistant\altf4formation.txt'
# Nom du fichier avec extension
[System.IO.Path]::GetFileName($Path2)
# Ou (nécessite que le fichier existe)
(Get-Item $Path1).name
# Nom du fichier sans extension
[System.IO.Path]::GetFileNameWithoutExtension($path2)
# Ou (nécessite que le fichier existe)
(Get-Item $Path1).Basename
# Juste l'extension du fichier
[System.IO.Path]::GetExtension($path2)
# Ou (nécessite que le fichier existe)
(Get-Item $Path1).Extension
# Juste la lettre de lecteur
[System.IO.Path]::GetPathRoot($path2)
# Ou (nécessite que le fichier existe)
(Get-Item $Path1).DirectoryName.substring(0,3)
# Le chemin sans le nom et extension de fichier
[System.IO.Path]::GetDirectoryName($path2)
# Ou (nécessite que le fichier existe)
(Get-Item $Path1).DirectoryName

Liens en relation