2016-08-04 13 views
1

私は自分のコンピュータ上のどこかのフォルダにファイルを持っており、最初のファイルへの相対パスがわかる2番目のファイルがあります。相対パスから絶対パスを取得するC#

ここで絶対パスを把握したいと思います。

2番目のファイルがプログラムが実行されているディレクトリにないため、GetFullPathが機能しません。

正しい絶対パスを取得するために、「GetFullPath」関数をどのディレクトリから開始するのかと言う機会はありますか?

+0

具体的な例を追加できますか? –

+1

あなたはこれを試しましたか: http://stackoverflow.com/questions/4796254/relative-path-to-absolute-path-in-c?rq=1 – Versatile

+0

またはこれ:http://stackoverflow.com/questions/ 1399008/how-to-convert-a-relative-path-to-a-windows-application-noredirect = 1&lq = 1 – Versatile

答えて

2

あなたは結果のパスを計算するPathの静的メソッドを使用することができます。

string fullPathToSecondFile = "c:\\test\\subtestsecond\\secondfile.txt"; 
string relativePath = "..\\subtestfirst\\firstfile.txt"; 

string fullPathToFirstFile = Path.GetFullPath(Path.Combine(Path.GetDirectoryName(fullSecondPath), relativePath)); 

これは


、その結果何が起こることは、あなたが絶対1への相対パスを組み合わせることです。これはc:\test\subtestsecond\..\subtestfirst\firstfile.txtになります。
2番目のステップでは、Path.GetFullPath()は、文字列を上記の結果に正規化します。

関連する問題