Server.MapPath()はファイルを読み込まず、サーバーの相対パスに基づいて正しい絶対パスを提供するだけです。ファイルを読み込んで1つのファイルに書き込む場合は、次のようにしてみてください。
string filenameA = HttpContext.Current.Server.MapPath("~\\Scripts\\File1.js"));
string filenameB = HttpContext.Current.Server.MapPath("~\\Scripts\\File2.js"));
string fileContentA = File.ReadAllText(filenameA);
string fileContentB - Flie.ReadAllText(filenameB);
System.IO.File.WriteAllText("filename", fileContentA + "\n" + fileContentB);
一緒に追加するファイルがたくさんある場合は、StringBuliderを使用することでパフォーマンスを向上させることができます。
StringBuilder sb = new StringBuilder();
foreach (string filename in filenames)
sb.AppendLine(File.ReadAllText(filename));
File.WriteAllText(sb.ToString());
さらに、ファイルが非常に大きく、メモリに収まらない場合は、FileStreamsを使用して、ソースからストリーミングし、マスターファイルに追加することができます。
foreach (string filename in filenames)
{
using (FileStream srcFile = new FileStream(filename, FileMode.Open, FileAccess.Read))
using (FileStream desFile = new FileStream(targetFilename, FileMode.Append, FileAccess.Write))
srcFile.CopyTo(desFile);
}