相対パスによるパスの取得

サンプルコード

Sub Main()
  System.Environment.CurrentDirectory = "C:\test1"
 
  '設定した上の階層のファイルのフルパスを取得する
  Console.WriteLine(System.IO.Path.GetFullPath("../sample.xml"))
 
  '設定したディレクトリの中のtestでtestディレクトリのフルパスを取得する
  Console.WriteLine(System.IO.Path.GetFullPath("./test/sample.xml"))
 
  ’また絶対パスからカレントディレクトリを基準とした相対パスを取得する事もできます
  Dim basePath As New Uri("C:\test\subtest")
  Dim targetPath As New Uri(basePath, "C:\sample.xml")
  Console.WriteLine(basepath.MakeRelativeUri(targetPath))
  'または
  Console.WriteLine(basepath.MakeRelative(targetPath))
End Sub

MakeRelativeメゾッとは交互制のために残されています。

System.Environment.CurrentDirectoryプロパティーで基準となるパスを指定します。