Might as well include $file(C:\Program Files\mIRC\mIRC.exe).fn (mIRC.exe), $file(C:\Program Files\mIRC\mIRC.exe).fnnoext (mIRC), $file(C:\Program Files\mIRC\mIRC.exe).shortdir (mIRC) and $file(C:\Program Files\mIRC\mIRC.exe).longdir (C:\Program Files\mIRC) for completeness sake if we decide to add $file(C:\Program Files\mIRC\mIRC.exe).ext (exe).
Courtesy of the .NET Frameworks Path class (also FileInfo, DirectoryInfo etc. for similar useful functions). Names are mostly guesswork to fit with existing identifiers, but I don't mind if it ends up being $file().name for example or whatever...

Or should $file().ext return the extension including the dot, like .NETs Path.GetExtension does? smile