12

我正在编写一个 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. 我跑:"SP.exe ..\\..\"。输出将是文件夹中所有文件的列表"C:\Documents and Settings\MehdiAnis.ULTIMATEBANGLA\My Documents\Visual Studio 2005\Projects\SP_Sol\SP_Proj"

  5. 我跑:"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

我怎样才能轻松处理多个..\

4

1 回答 1

24

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

于 2010-04-07T02:38:03.450 回答