VB.NET中相对路径与绝对路径
-
25-09-2019 - |
题
我正在编写一个 VB.NET 控制台应用程序,它采用相对路径并输出所有文件名,或者输出无效输入的错误。我在从相对路径获取 PhysicalPath 时遇到问题
例子:
我在文件夹里
C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol\SP_Proj\bin\Debug
我的应用程序,
SP.exe
, ,也在同一个文件夹中。我跑:
"SP.exe ..\"
. 。输出将是文件夹中所有文件的列表"C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol\SP_Proj\bin"
我跑:
"SP.exe ..\\..\"
. 。输出将是文件夹中所有文件的列表"C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol\SP_Proj"
我跑:
"SP.exe ..\\..\\..\"
. 。输出将是文件夹中所有文件的列表"C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol"
目前我正在处理一个相对路径,但仅此而已:
If Source.IndexOf("..\") = 0 Then
Dim Sibling As String = Directory.GetParent(Directory.GetCurrentDirectory()).ToString()())
Source = Source.Replace("..\", Sibling)
End If
如何轻松处理多个 ..\
?
解决方案
您正在寻找 System.IO.Path.GetFullPath(). 。它应该处理任何类型的相对路径。