ファイル操作

[C#] ファイルパスを結合する(Path.Combine)

2024年1月12日

ファイルパスの要素を結合して新たなパスを作りたい場合は、
Path.Combine()が便利です。

構文

構文

string p = System.IO.Path.Combine(<パス1>, <パス2>);
string p = System.IO.Path.Combine(<パス1>, <パス2>, <パス2>);
string p = System.IO.Path.Combine(<パス1>, <パス2>, <パス2>, <パス2>);
string p = System.IO.Path.Combine(<パスの配列>);

文字列で指定する場合は2~4個指定できます。それ以上指定したい場合はString配列で指定します。

サンプル

例1)"C:\temp"と"sample.txt"を結合したパスを生成する


string p = Path.Combine(@"C:\temp", @"sample.txt");
p → "C:\temp\sample.txt

例2)"C:\temp"と"temp2"と"sample.txt"を結合したパスを生成する


string p = Path.Combine(@"C:\temp", @"temp2", @"sample.txt");
p → "C:\temp\temp2\sample.txt

 

以下はちょっと注意が必要なパターンです。

例3)"C:\temp"と"D:\temp"と"sample.txt"を結合したパスを生成する


string p = Path.Combine(@"C:\temp", @"D:\temp", @"sample.txt");
p → "D:\temp\sample.txt

※2番目以降にルートが含まれるパスがあると、それ以前のパスは無視されます。

例4)"C:"と"sample.txt"を結合したパスを生成する


string p = Path.Combine(@"C:", @"sample.txt");
p → "C:sample.txt

※ドライブ名の最後には自動で\は付かないので、明示的に指定する必要があります。

備考

  • フォルダ要素のパスを指定する場合、最後に\マークがあってもなくても適切に判断して結合してくれます。

関連記事

-ファイル操作
-