在程序運行時,需要自動刪除一些文件,以免硬盤占滿。
下列程序自動刪除文件/文件夾。
首先從工具箱拖入一個Timer,設置Enabled為True,interval為發生的間隔,事件Tick為要發生的事件。
1 private void timer1_Tick(object sender, EventArgs e) //每隔一段時間觸發該函數。 2 { 3 DeleteFile("D:/test", 7); //刪除該目錄下 超過 7天的文件 4 DeleteDirectory("D:/test",7)//刪除目錄下超過7天的文件夾 5 } 6 private void DeleteFile(string fileDirect, int saveDay) 7 { 8 DateTime nowTime = DateTime.Now; 9 string[] files = Directory.GetFiles(fileDirect, "*.*", SearchOption.AllDirectories); //獲取該目錄下所有文件 10 foreach (string file in files) 11 { 12 FileInfo fileInfo = new FileInfo(file); 13 TimeSpan t = nowTime - fileInfo.CreationTime; //當前時間 減去 文件創建時間 14 int day = t.Days; 15 if (day > saveDay) //保存的時間 ; 單位:天 16 { 17 File.Delete(file); //刪除超過時間的文件 18 } 19 } 20 } 21 //private void DeleteDirectory(string fileDirect, int saveDay) 22 //{ 23 // DateTime nowTime = DateTime.Now; 24 // DirectoryInfo root = new DirectoryInfo(fileDirect); 25 // DirectoryInfo[] dics = root.GetDirectories();//獲取文件夾 26 27 // FileAttributes attr = File.GetAttributes(fileDirect); 28 // if (attr == FileAttributes.Directory)//判斷是不是文件夾 29 // { 30 // foreach (DirectoryInfo file in dics)//遍歷文件夾 31 // { 32 // TimeSpan t = nowTime - file.CreationTime; //當前時間 減去 文件創建時間 33 // int day = t.Days; 34 // if (day > saveDay) //保存的時間 ; 單位:天 35 // { 36 37 // Directory.Delete(file.FullName, true); //刪除超過時間的文件夾 38 // } 39 // } 40 41 // } 42 //}