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 }