1 using System; 2 using System.Collections.Generic; 3 using System.Linq; 4 using System.Text; 5 using System.Threading.Tasks; 6 using System.IO; 7 using System.Configuration; 8 9 10 namespace UpdateWorks 11 { 12 public class Plan 13 { 14 15 16 /// <summary> 17 /// 保存配置文件的方法 18 /// </summary> 19 /// <param name="configset">key的名称</param> 20 /// <param name="text">要修改的信息</param> 21 public static void SaveAppconfigText(string configset,string text ) 22 { 23 Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);//创建访问配置文件的对象 24 config.AppSettings.Settings[configset].Value = text;//对相应key的value赋值 25 config.Save(ConfigurationSaveMode.Modified);//保存修改的信息 26 ConfigurationManager.RefreshSection("appSettings");//刷新appsettings节点信息 27 28 29 } 30 31 32 /// <summary> 33 /// 复制文件的方法 34 /// </summary> 35 /// <param name="sourPath">源文件路径</param> 36 /// <param name="savePath">备份的文件路径</param> 37 public static void CopyDirectory(string sourPath, string savePath) 38 { 39 40 DirectoryInfo dir = new DirectoryInfo(sourPath);//创建访问文件目录的对象 41 FileSystemInfo[] fileinfo = dir.GetFileSystemInfos();//获取当前目录下的所有文件及子目录 42 foreach (FileSystemInfo item in fileinfo) //遍历获取的文件及自目录 43 { 44 if (item is DirectoryInfo) //判断是否是目录 45 { 46 if (!Directory.Exists(savePath + "\" + item.Name))//判断目录是否存在 47 { 48 Directory.CreateDirectory(savePath + "\" + item.Name);//创建目录 49 } 50 CopyDirectory(item.FullName, savePath + "\" + item.Name);//递归调用自己 51 } 52 else 53 { 54 try 55 { 56 File.Copy(item.FullName, savePath + "\" +DateTime.Now.ToString("yyyy-MM-dd-HH-mm ")+ item.Name, false);//复制文件,true表示覆盖文件 57 } 58 catch 59 { 60 61 continue; //如果出错就继续复制下一个 62 } 63 64 } 65 66 } 67 68 69 70 } 71 /// <summary> 72 /// 删除指定路径下超过指定日期的文件 73 /// </summary> 74 /// <param name="path">路径</param> 75 /// <param name="days">天数</param> 76 public static void DeleteDir(string path,int days) 77 { 78 DirectoryInfo dir = new DirectoryInfo(path); 79 FileSystemInfo[] fileinfo = dir.GetFileSystemInfos(); 80 foreach (FileSystemInfo item in fileinfo) 81 { 82 83 if (item is DirectoryInfo) 84 { 85 DeleteDir(path + "\" + item.Name, days); 86 } 87 else 88 { 89 try 90 { 91 if ((DateTime.Now- item.CreationTime).Days>=days) 92 { 93 File.Delete(item.FullName); 94 } 95 96 } 97 catch 98 { 99 100 continue; 101 } 102 103 } 104 105 106 107 } 108 109 } 110 111 } 112 }