using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
using System.IO;
using System.Configuration;
namespace HouseKeeping
{
public partial class Form1 : Form
{
string targetDirectory = ConfigurationManager.AppSettings["targetDirectory"];
string onSpotDirectory = ConfigurationManager.AppSettings["onSpotDirectory"];
int delete = int.Parse(ConfigurationManager.AppSettings["day"]);
public Form1()
{
string time = DateTime.Now.AddDays(-delete).ToString("yyyyMMddHHmmss");
InitializeComponent();
HouseKeeping(time);
}
public void HouseKeeping(string strtime)
{
try
{
//Folder HouseKeeping
string[] subdirectoryEntries = Directory.GetDirectories(targetDirectory);
foreach (string subdirectory in subdirectoryEntries)
{
string t = Directory.GetCreationTime(subdirectory).ToString("yyyyMMddHHmmsss");
int result = t.CompareTo(strtime);
// -1:subdirectory creattime more than "n" days, no need any more;
// 0,1:subdirectory creattime less than "n" days, should keep
if (result < 0)
{
Directory.Delete(subdirectory, true);
}
}
//File HouseKeeping
// Process the list of files found in the directory.
string[] fileEntries = Directory.GetFiles(onSpotDirectory);
foreach (string fileName in fileEntries)
{
string temptime = Directory.GetCreationTime(fileName).ToString("yyyyMMddHHmmsss");
int result2 = temptime.CompareTo(strtime);
if(result2 < 0)
{
File.Delete(fileName);
}
}
}
catch(Exception ex)
{
}
}
}
}