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"
現在、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(). 。あらゆるタイプの相対パスを処理する必要があります。