Powershell - Extract the name of a file with/without its extension from its full path

To support me, you can subscribe to the channel, share and like the videos, disable your ad blocker or make a donation. Thank you!

Hello,

How to extract the name of a file with/without its extension from its full path in Powershell?

That’s what we’re going to look at in this article.

I propose a solution based on .Net (System.IO.Path) which does not require the file to exist and another solution which requires the file to exist.

Incidentally, I also give the code to retrieve the drive letter and path of the folder the file is in.

# Demo variables
$Path1 = '$env:windir\system32\windowspowershell\v1.0\powershell_ise.exe'
$Path2 = 'c:\chemin\inexistant\altf4formation.txt'
# File name with extension
[System.IO.Path]::GetFileName($Path2)
# Or (requires that the file exists)
(Get-Item $Path1).name
# File name without extension
[System.IO.Path]::GetFileNameWithoutExtension($path2)
# Or (requires that the file exists)
(Get-Item $Path1).Basename
# Just the file extension
[System.IO.Path]::GetExtension($path2)
# Or (requires the file to exist)
(Get-Item $Path1).Extension
# Just the drive letter
[System.IO.Path]::GetPathRoot($path2)
# Or (requires the file to exist)
(Get-Item $Path1).DirectoryName.substring(0,3)
# The path without the file name and extension
[System.IO.Path]::GetDirectoryName($path2)
# Or (requires the file to exist)
(Get-Item $Path1).DirectoryName

Related links