Delete OutputFiles folder file

Infor Syteline system在UT Server 服务器的OutputFiles目录,是用户在preview Report或print out file 临时存储地方。随着系统每天的运行,这个目录占用磁盘空间也随之增大。几次需要用手动去删除它们。

昨天写了一个控制台 Schedule Tasks工具,让它自动删除七天前的文件。所需环境.NET Framework 2.0支持。

运行此动作之前,请首先做好系统备份。参考代码:

View Code
using System;
using System.Collections.Generic;
using System.IO;
using System.Text;

namespace AutoDeleteSytelineOutputFiles
{
    
class Program
    {
        
static void Main(string[] args)
        {
            
//指定目标文件夹
            string directory = @"C:\Program Files (x86)\Infor\SyteLine\Report\OutputFiles\";

            IterationFile(directory);
        }

        
private static void IterationFile(string path)
        {
            DirectoryInfo di 
= new DirectoryInfo(path);

            
//取得当前目录中所有文件
            FileInfo[] fiArray = di.GetFiles();

            
//循环每一个文件
            for (int i = 0; i < fiArray.Length; i++)
            {
                
//比较文件创建时间,是否是七天前创建的。                
                if (fiArray[i].CreationTime < DateTime.Now.AddDays(-7))
                {
                    
//如果是,把它删除
                    fiArray[i].Delete();
                }
            }

            
//取得当前目录中所有子目录
            DirectoryInfo[] diArray = di.GetDirectories();

            
//循环每一个目录
            for (int j = 0; j < diArray.Length; j++)
            {
                IterationFile(diArray[j].FullName);
            }
        }
    }
}

 

也可以从下面地址下载完整程序:

http://download.cnblogs.com/insus/CSHARPDOTNET/AutoDeleteSytelineOutputFiles.rar

 

已经编译为.exe的Schedule tasks file:

http://download.cnblogs.com/insus/CSharpNET/AutoDeleteSytelineOutputFiles.rar

 

 

posted @ 2011-03-17 10:11  Insus.NET  阅读(1478)  评论(1编辑  收藏  举报