質問

相対パスを取得し、すべてのファイル名を吐き出す、または無効な入力に対するエラーを吐き出す 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"

現在、1 つの相対パスを処理していますが、それ以上は処理していません。

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

複数を簡単に処理するにはどうすればよいですか ..\?

役に立ちましたか?

解決

あなたが探しています System.IO.Path.GetFullPath(). 。あらゆるタイプの相対パスを処理する必要があります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top