////////////////////////////////////////// public bool CompareDir(String pd_11, String pd_22, string ddir) { ///////////只要本地文件在服务器上的就可以,服务器上多的不管 string pd_1 = pd_11 + ddir; string pd_2 = pd_22; bool samed = true; /////////// //string dir = localDir + dirName + @"\"; //获取当前目录(父目录在目录名) //string dir = localDir + dirName + @"\"; //检测本地目录是否存在 if (!Directory.Exists(pd_1)) { //Response.Write("本地目录:“" + dir + "” 不存在!<br/>"); MessageBox.Show("本地目录:“" + pd_1 + "” 不存在111!"); } //检测FTP的目录路径是否存在 if (!up.CheckDirectoryExist2(pd_22, ddir)) { // MakeDir(ftpPath, dirName);//不存在,则创建此文件夹 samed = false; { samed = false; //MessageBox.Show("msg2"); } } List <List <string> > infos = up.GetDirDetails(pd_1); //获取当前目录下的所有文件和文件夹 //先上传文件 //Response.Write(dir + "下的文件数:" + infos[0].Count.ToString() + "<br/>"); for (int i = 0; i < infos[0].Count; i++) { // Console.WriteLine(infos[0][i]); if (!CompareFile(pd_1 + @"\" + infos[0][i], pd_2 + ddir + "/" + infos[0][i])) { samed = false; // MessageBox.Show("msg1"); } } //再处理文件夹 //Response.Write(dir + "下的目录数:" + infos[1].Count.ToString() + "<br/>"); for (int i = 0; i < infos[1].Count; i++) { if (!CompareDir(pd_1 + @"\", pd_2 + ddir + "/", infos[1][i])) { samed = false; } //Response.Write("文件夹【" + dirName + "】上传成功!<br/>"); } ////////// return(samed); }
///////////////////////////////////////////////////////////////////////// public static void deldir(string dir) { string pd_1 = dir; UploadFileFTP up = new UploadFileFTP(); /////////// //string dir = localDir + dirName + @"\"; //获取当前目录(父目录在目录名) //string dir = localDir + dirName + @"\"; //检测本地目录是否存在 if (!Directory.Exists(pd_1)) { //Response.Write("本地目录:“" + dir + "” 不存在!<br/>"); // MessageBox.Show("本地目录:“" + pd_1 + "” 不存在111!"); } else { List <List <string> > infos = up.GetDirDetails(pd_1); //获取当前目录下的所有文件和文件夹 //先上传文件 //Response.Write(dir + "下的文件数:" + infos[0].Count.ToString() + "<br/>"); for (int i = 0; i < infos[0].Count; i++) { // Console.WriteLine(infos[0][i]); File.Delete(pd_1 + @"\" + infos[0][i]); } //再处理文件夹 //Response.Write(dir + "下的目录数:" + infos[1].Count.ToString() + "<br/>"); for (int i = 0; i < infos[1].Count; i++) { deldir(pd_1 + @"\" + infos[1][i]); } Directory.Delete(pd_1); } /////// }