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

Posted

技术标签:

【中文标题】VB.NET中绝对路径的相对路径【英文标题】:Relative path to absolute path in VB.NET 【发布时间】:2011-02-05 02:01:57 【问题描述】:

我正在编写一个 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

如何轻松处理多个..\

【问题讨论】:

【参考方案1】:

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

【讨论】:

@Mehdi:由于这看起来是您问题的解决方案,因此最好使用左上/下箭头旁边的复选标记将其标记为答案。 @Zach Johnson:感谢您显示 CheckMark(TickMark 图标以接受答案。我不知道,灰色的图标看起来像是不活动的。

以上是关于VB.NET中绝对路径的相对路径的主要内容,如果未能解决你的问题,请参考以下文章

相对路径和绝对路径的区别是啥?

C# 相对路径转换成绝对路径。

相对路径与绝对路径的含义

相对路径和绝对路径的区别

在asp.net中,加载图片的相对路径和绝对路径分别用啥

绝对路径和相对路径的区别?