Relative path to absolute path in VB.NET
-
25-09-2019 - |
Question
I am writing a VB.NET console application where it takes relative paths and spits out all file names, or an error for invalid input. I am having trouble getting PhysicalPath from relative path
Example:
I am in folder
C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol\SP_Proj\bin\Debug
My application,
SP.exe
, is also in the same folder.I run:
"SP.exe ..\"
. The output will be a list of all files in the folder"C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol\SP_Proj\bin"
I run:
"SP.exe ..\\..\"
. The output will be a list of all files in the folder"C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol\SP_Proj"
I run:
"SP.exe ..\\..\\..\"
. The output will be a list of all files in the folder"C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol"
Currently I am handling one relative path, but no more:
If Source.IndexOf("..\") = 0 Then
Dim Sibling As String = Directory.GetParent(Directory.GetCurrentDirectory()).ToString()())
Source = Source.Replace("..\", Sibling)
End If
How can I easily handle multiple ..\
?
Solution
You're looking for System.IO.Path.GetFullPath(). It should handle any type of relative path.