VB.NET中绝对路径的相对路径

时间:2010-04-07 02:12:10

标签: .net path absolute relative

我正在编写一个VB.NET控制台应用程序,它接受相对路径并吐出所有文件名,或者输出无效错误。我无法从相对路径获取PhysicalPath

示例:

  1. 我在文件夹C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol\SP_Proj\bin\Debug

  2. 我的应用程序SP.exe也位于同一个文件夹中。

  3. 我跑:"SP.exe ..\"。输出将是文件夹"C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol\SP_Proj\bin"

  4. 中所有文件的列表
  5. 我跑:"SP.exe ..\\..\"。输出将是文件夹"C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol\SP_Proj"

  6. 中所有文件的列表
  7. 我跑:"SP.exe ..\\..\\..\"。输出将是文件夹"C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol"

  8. 中所有文件的列表

    目前我正在处理一条相对路径,但不再处理:

        If Source.IndexOf("..\") = 0 Then
            Dim Sibling As String = Directory.GetParent(Directory.GetCurrentDirectory()).ToString()())
            Source = Source.Replace("..\", Sibling)
        End If
    

    如何轻松处理多个..\

1 个答案:

答案 0 :(得分:22)

您正在寻找System.IO.Path.GetFullPath()。它应该处理任何类型的相对路径。