Converting the FileSystemObject's GetBaseName Method

Definition: Returns the final element in a path, minus any file extension. For example, passing C:\Scripts\Test.txt to the GetBaseName method would return Test. Passing C:\Scripts would return Scripts.

GetBaseName

The Split-Path cmdlet in PowerShell works in a similar way, with one exception: Split-Path will return the file extension with the file. To retrieve only the last element of a path call the Split-Path cmdlet with the -leaf parameter:

PS C:\scripts\temp> Split-Path C:\scripts\test.txt -leaf
test.txt

Did you notice one thing about the preceding example? Yes, that’s right, the file extension is included. GetBaseName returns the filename without the file extension; Split-Path returns the filename with the file extension.

Here’s how to get the final element in a path when that element is a folder:

PS C:\scripts\temp> Split-Path C:\scripts -leaf
Scripts

See conversions of other FileSystemObject methods and properties.
Return to the VBScript to Windows PowerShell home page