private void PackAllFileToMpq(string path, string basepath, MpqLib.Mpq.CArchive mpq) { DirectoryInfo dir = new DirectoryInfo(path); foreach (FileInfo fChild in dir.GetFiles("*")) //设置文件类型 { string mpqpath = fChild.FullName.Substring(fChild.FullName.IndexOf(basepath) + basepath.Length + 1); //string mpqpath = fChild.FullName.Replace(basepath + @"\", ""); mpq.ImportFile(mpqpath, fChild.FullName); } foreach (DirectoryInfo dChild in dir.GetDirectories("*")) //操作子目录 { PackAllFileToMpq(dChild.FullName, basepath, mpq); //递归 } }