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

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

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


Delete OutputFiles folder file_DirectoryDelete OutputFiles folder file_Delete_02View 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);

            }

        }

    }

}


 

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


 

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