ファイルパスの要素を結合して新たなパスを作りたい場合は、
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
※ドライブ名の最後には自動で\は付かないので、明示的に指定する必要があります。
備考
- フォルダ要素のパスを指定する場合、最後に\マークがあってもなくても適切に判断して結合してくれます。