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, purchase my 3D plans, or make a donation or subscribe on Ko-Fi. 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