/// <summary>
/// delete excel files by time interval
/// </summary>
/// <param name="dir">file directory</param>
/// <param name="fileName">expired time</param>
/// <returns></returns>
public void deleteFiles(DateTime expiredTime)
{
string directory = HttpRuntime.AppDomainAppPath + @"upload\";//files folder directory
DirectoryInfo dir = new DirectoryInfo(directory);//the specified directory
foreach (DirectoryInfo subDir in dir.GetDirectories())//cycle subdirectory
{
Logger.getLogger().Debug("subDir:" + subDir.Name);
foreach (var file in subDir.GetFiles())//cycle files in subdirectory
{
Logger.getLogger().Debug("File all:" + file.Name);
string fileName = file.Name;
if (fileName.Contains("~$"))
{
fileName = file.Name.Remove(0, 2);//remove ~$ for hidden file
}
string strName = fileName.Remove(fileName.LastIndexOf("."));//get file string name
DateTime fileDateName = DateTime.ParseExact(strName.Substring(0, 14), "yyyyMMddHHmmss", System.Globalization.CultureInfo.CurrentCulture);//convert to datetime
Logger.getLogger().Debug("FileDateName:" + fileDateName);
if (fileDateName < expiredTime)
{
file.Delete();
Logger.getLogger().Debug("File delete:" + file.Name);
}
}
}
}