using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Data; using System.IO; using ICSSoft.Base.Config.AppConfig; using ICSSoft.Base.Config.DBHelper; using ICSSoft.Frame.Data.BLL; using System.Configuration; namespace ICSSoft.Frame.APP { public class FileDrawing { public static string YanMo = "研磨"; public static string ZhuangPei = "装配"; public static string PengQi = "喷漆"; public static string QiLu = "气路"; public static string ShiYa = "试压"; public static string ZiJian = "自检"; public static string TuZhi = "设计图纸"; public static string WuLiao = "物料清单"; public static string CuJiaGong = "工序图纸"; public static string ZuoYeZhiDao = "工艺卡片"; public static string ZuoYeZhiDaoJY = "检验作业指导书"; public static string YaoSu = "工作要素表"; public static string GuanCha = "工作观察表"; public static string ZuHe = "工作组合表"; public static string SZuoYeZhiDao = "6S作业指导书"; public static string SZuoYeZhiDaoJY = "检验6S作业指导书"; public static string SheBei = "设备操作规程"; public static string WPS = "WPS"; public static string ChengXu = "程序"; public static string ShiPin = "视频"; public static string JianYan = "检验规范"; public static string ZhuYi = "注意事项"; public static string ZhuYiJY = "检验注意事项"; public static string GuiFan = "作业规范"; public static string WenTi = "常见问题处理方案"; public static string PeiXun = "培训文件"; public static string ToolSpec = "刀具规格"; public static string GongZhuang = "工装信息"; //public static SysUserBLL userBll = new SysUserBLL(); private static DataTable dataSource = null; public static string GetMainTypeCode(string ItemCode) { string MainTypeCode = ""; string strsql = @"select ItemMainCategoryCode from Base_Inventory where ItemCode='{0}'"; strsql = string.Format(strsql, ItemCode); DataTable dt = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, strsql).Tables[0]; if (dt.Rows.Count != 0) { MainTypeCode = dt.Rows[0]["ItemMainCategoryCode"].ToString(); } return MainTypeCode; } public static DataTable GetDrawingDT(string name, string suffix, string type) { try { #region new // string sql = @"SELECT DISTINCT // T.CDOCUMENTNAME as [FileName], // T.CDOCUMENTID as FileID, // T.CDOCUMENTVER as FileVer, // T.CDFORMAT as FileFormat // FROM // DOC_008 T // LEFT OUTER JOIN DOC_030 S ON (T.SECRECYGRADEID = S.SECRECYGRADEID) // LEFT OUTER JOIN SYS_057 SORT ON (T.SORTID = SORT.SORTID) // LEFT OUTER JOIN SYS_019 Q ON (T.CMODIFIER = Q.CPERSONID), // DOC_026 T_ADD, // SYS_019 P, // DOC_017 K, // BOM_026 M // WHERE // T.CDOCUMENTID = M.CDOCUMENTID // AND T.CDOCUMENTVER = M.CDOCUMENTVER // AND T.CDOCUMENTID = T_ADD.CDOCUMENTID // AND T.CDOCUMENTVER = T_ADD.CDOCUMENTVER // AND T.CCREATORID = P.CPERSONID // AND T.CMKINDID = K.CMKINDID // AND M.PARTVAR = 'A1' // AND M.PARTID = '{0}' // AND T.CDFORMAT = '{1}'"; // sql = string.Format(sql, name, suffix); #endregion string sql = ""; if (type.Equals(ShiPin) || type.Equals(SZuoYeZhiDaoJY) || type.Equals(ChengXu) || type.Equals(ZhuYiJY) || type.Equals(ZhuYi) || type.Equals(GuiFan) || type.Equals(WenTi) || type.Equals(WPS) || type.Equals(SZuoYeZhiDao) || type.Equals(SheBei)) { sql = @"select Top 1 A.CDOCUMENTID + '$' + A.CDOCUMENTVER AS FilePATH , -- CDOCUMENTID + '$' + CDOCUMENTVER +'.' +CDFORMAT AS FileName, CDOCUMENTNAME as [FileName], CDOCUMENTID as FileID, CDOCUMENTVER as FileVer, CDFORMAT as FileFormat, CDOCUMENTID, * from DOC_008 A where CDOCUMENTID = '{0}' AND CDFORMAT='{1}' "; if (type.Equals(ZhuYi)) name = "ZY-" + name; else if (type.Equals(GuiFan)) name = "ZG-" + name; else if (type.Equals(WenTi)) name = "WT-" + name; else if (type.Equals(WPS)) name = "WPS-" + name; else if (type.Equals(SZuoYeZhiDao)) name = "5S-" + name; else if (type.Equals(SheBei)) name = "SG-" + name; else if (type.Equals(ZhuYiJY)) name = "Q-Attention-" + name; else if (type.Equals(SZuoYeZhiDaoJY)) name = "Q-5S" + name; } else if (type.Equals(ZuoYeZhiDao)) { sql = @"select Top 1 A.CDOCUMENTID + '$' + A.CDOCUMENTVER AS FilePATH , -- CDOCUMENTID + '$' + CDOCUMENTVER +'.' +CDFORMAT AS FileName, CDOCUMENTNAME as [FileName], CDOCUMENTID as FileID, CDOCUMENTVER as FileVer, CDFORMAT as FileFormat, CDOCUMENTID, * from DOC_008 A where CDOCUMENTNAME = '{0}' AND CDFORMAT='{1}' "; } else if (type.Equals(JianYan) || type.Equals(ZuoYeZhiDaoJY)) { sql = @"select Top 1 A.CDOCUMENTID + '$' + A.CDOCUMENTVER AS FilePATH , CDOCUMENTNAME as [FileName], CDOCUMENTID as FileID, CDOCUMENTVER as FileVer, CDFORMAT as FileFormat, CDOCUMENTID,* from DOC_008 A where CDOCUMENTID='{0}' AND CDFORMAT='{1}' "; } else { #region 图纸 sql = @"SELECT Top 1 A.CDOCUMENTID + '$' + A.CDOCUMENTVER AS FilePATH , -- A.CDOCUMENTID + '$' + A.CDOCUMENTVER + '.' + A.CDFORMAT AS FileName, A.CDOCUMENTNAME AS [FileName], A.CDOCUMENTID AS FileID, A.CDOCUMENTVER AS FileVer, A.CDFORMAT AS FileFormat, A.CDOCUMENTID, * FROM DOC_008 A LEFT JOIN BOM_026 B ON A.CDOCUMENTNAME = B.CDOCUMENTNAME --AND A.CCREATORID = B.relevancePerson LEFT JOIN DOC_017 C ON A.CMKINDID=C.CMKINDID WHERE 1=1 AND A.CDFORMAT = '{1}'"; #endregion if (type.Equals(CuJiaGong)) { sql += " AND B.PARTID = '{0}'"; //sql += " AND A.CDOCUMENTNAME = '{0}'"; // string sqlstd = @"SELECT * from Base_Inventory c WITH (nolock) where c.ItemCode // = '{0}'"; //sqlstd = string.Format(sqlstd, name); //DataTable dataStd = DBHelper.ExecuteDataset(AppConfig.AppConnectString.ToString(), CommandType.Text, sqlstd).Tables[0]; //if (dataStd.Rows.Count > 0) //{ // //name = dataStd.Rows[0]["ItemStd"].ToString(); // //sql += " AND C.CMKINDNAME = 'CJ-粗加工'"; // //sql += " AND A.CDOCUMENTID = '{0}'"; // //name = dataStd.Rows[0]["ItemStd"].ToString(); // //sql += " AND C.CMKINDNAME = 'CJ-粗加工'"; // //sql += " AND A.CDOCUMENTID = '{0}'"; //} } else { sql += " AND B.PARTID = '{0}'"; } } if (string.IsNullOrWhiteSpace(sql)) return null; sql = string.Format(sql, name, suffix); sql += " Order by A.CREATETIME desc "; string connectionStr = AppConfig.GetDataBaseConnectStringByKey("[DB.PLM]"); DataTable dt = DBHelper.ExecuteDataset(connectionStr, CommandType.Text, sql).Tables[0]; return dt; } catch (Exception ex) { throw ex; } } public static string GetDrawing(string name, string suffix, string type) { ////TODO //if(itemCode =="1") // return "E:\\1501010061$A1.pdf"; //else // return "E:\\1303040001$A1.pdf"; try { string connectionString = AppConfig.GetDataBaseConnectStringByKey("[DB.FTP]"); string[] ftps = connectionString.Split(';'); string ftpServerIP = ftps[0].Split('=')[1]; string ftpRemotePath = ftps[1].Split('=')[1]; string ftpUserID = ftps[2].Split('=')[1]; string ftpPassword = ftps[3].Split('=')[1]; string filePath = System.IO.Path.GetTempPath() + "Drawing"; if (!Directory.Exists(filePath)) { Directory.CreateDirectory(filePath); } //获取图纸数据 DataTable dt = GetDrawingDT(name, suffix, type); if (dt.Rows.Count > 0) { FtpWeb ftpWeb = new FtpWeb(ftpServerIP, ftpRemotePath, ftpUserID, ftpPassword); string fileName = ""; for (int i = 0; i < dt.Rows.Count; i++) { DataRow dr = dt.Rows[i]; //文件名称有 ID + “$” + 版本 + 文件格式组成 fileName = dr["FileID"].ToString() + "$" + dr["FileVer"].ToString() + "." + dr["FileFormat"].ToString(); } if (!string.IsNullOrEmpty(fileName)) { fileName = fileName.Replace("/", ""); if (fileName.Contains(".CNC")) filePath = "C:\\mesjk"; ftpWeb.Download(filePath + "\\", fileName); string filePathName = filePath + "\\" + fileName; return filePathName; } } else { if (type.Equals(TuZhi) || type.Equals(CuJiaGong)) { DataTable dtauto = GetAutoPDF(name); if (dtauto != null && dtauto.Rows.Count > 0) { string fileName = ""; FtpWeb ftpWeb = new FtpWeb(ftpServerIP, ftpRemotePath + "\\pdf", ftpUserID, ftpPassword); string FilePath = dtauto.Rows[0]["FileID"].ToString() + '$' + dtauto.Rows[0]["FileVer"].ToString(); if (ftpWeb.DirectoryExist(FilePath)) { string[] downloadFiles = ftpWeb.GetFileList(FilePath); Array.Sort(downloadFiles); fileName = downloadFiles[downloadFiles.Length - 1]; ftpWeb = new FtpWeb(ftpServerIP, ftpRemotePath + "\\pdf\\" + FilePath, ftpUserID, ftpPassword); ftpWeb.Download(filePath + "\\", fileName); string filePathName = filePath + "\\" + fileName; return filePathName; } } } } return string.Empty; } catch (Exception) { return string.Empty; } } public static DataTable GetAutoPDF(string itemCode) { string sql = @"SELECT DISTINCT T.CDOCUMENTID + '$' + T.CDOCUMENTVER AS FilePath, T.CDOCUMENTNAME as [FileName], T.CDOCUMENTID as FileID, T.CDOCUMENTVER as FileVer, T.CDFORMAT as FileFormat, '' as ItemCode, '' as ItemName, '' as ItemStd, M.PARTID FROM DOC_008 T LEFT OUTER JOIN DOC_030 S ON (T.SECRECYGRADEID = S.SECRECYGRADEID) LEFT OUTER JOIN SYS_057 SORT ON (T.SORTID = SORT.SORTID) LEFT OUTER JOIN SYS_019 Q ON (T.CMODIFIER = Q.CPERSONID), DOC_026 T_ADD, SYS_019 P, DOC_017 K, BOM_026 M WHERE T.CDOCUMENTID = M.CDOCUMENTID AND T.CDOCUMENTVER = M.CDOCUMENTVER AND T.CDOCUMENTID = T_ADD.CDOCUMENTID AND T.CDOCUMENTVER = T_ADD.CDOCUMENTVER AND T.CCREATORID = P.CPERSONID AND T.CMKINDID = K.CMKINDID AND M.PARTVAR = 'A1' AND T.CDFORMAT in ('dwg') "; string[] itemlist = itemCode.Trim(',').Split(','); for (int i = 0; i < itemlist.Length; i++) { if (!string.IsNullOrEmpty(itemlist[i])) { if (i == 0) { sql += " And ( M.PARTID like '%" + itemlist[i] + "%' "; } else { sql += " OR M.PARTID like '%" + itemlist[i] + "%' "; } } } sql += " ) "; string connectionString = AppConfig.GetDataBaseConnectStringByKey("[DB.PLM]"); DataTable dt = DBHelper.ExecuteDataset(connectionString, CommandType.Text, sql).Tables[0]; return dt; } public static void Enlarge(AxAcroPDFLib.AxAcroPDF axAcroPDF) { //string fileName = "E:\\1501010061$A1.pdf"; string fileName = axAcroPDF.src; if (!string.IsNullOrWhiteSpace(fileName)) { FormICSDrawingShow draw = new FormICSDrawingShow(fileName, ""); draw.ShowDialog(); } } public static void LoadPDF(string fileName) { if (!string.IsNullOrWhiteSpace(fileName)) { FormICSDrawingShow draw = new FormICSDrawingShow(fileName, ""); draw.ShowDialog(); } } public static void DeleteFile(List fileNames) { //遍历所有文件 //foreach (string fileName in fileNames) //{ // try // { // //文件己存在 // if (File.Exists(fileName)) // { // FileInfo fi = new FileInfo(fileName); // //判断当前文件属性是否是只读 // if (fi.Attributes.ToString().IndexOf("ReadyOnly") >= 0) // { // fi.Attributes = FileAttributes.Normal; // } // //删除文件 // File.Delete(fileName); // } // } // catch (Exception) // { // } //} } public void DeleteFile() { try { //获取文件夹 //string path = Server.MapPath("Image"); string filePath = System.IO.Path.GetTempPath() + "\\Drawing"; //获取文件夹中所有图片 if (Directory.GetFileSystemEntries(filePath).Length > 0) { //遍历文件夹中所有文件 foreach (string file in Directory.GetFiles(filePath)) { try { //文件己存在 if (File.Exists(file)) { FileInfo fi = new FileInfo(file); //判断当前文件属性是否是只读 if (fi.Attributes.ToString().IndexOf("ReadyOnly") >= 0) { fi.Attributes = FileAttributes.Normal; } //删除文件 File.Delete(file); } } catch (Exception ex) { } } //删除文件夹 //Directory.Delete(path); } } catch (Exception ex) { } } public static bool Login(string userCode, string userPwd) { //if (userCode == "") //{ // ICSBaseSimpleCode.AppshowMessageBox("用户账号不可以为空!"); // return false; //} //else if (userPwd == "") //{ // ICSBaseSimpleCode.AppshowMessageBox("用户口令不可以为空!"); // return false; //} //int num = userBll.Login(AppConfig.WorkPointCode, userCode, userPwd); //if (num == 0) //{ // return true; //} //else //{ // switch (num) // { // case 1: // ICSBaseSimpleCode.AppshowMessageBox("用户账号不存在"); // return false; // case 2: // ICSBaseSimpleCode.AppshowMessageBox("用户口令错误"); // return false; // case 3: // ICSBaseSimpleCode.AppshowMessageBox("用户账号被禁用"); // return false; // case 4: // ICSBaseSimpleCode.AppshowMessageBox("用户账号已经累计输出口令超过5次被自动锁定"); // return false; // case 5: // ICSBaseSimpleCode.AppshowMessageBox("本机IP地址禁止该用户账号登录"); // return false; // case 6: // ICSBaseSimpleCode.AppshowMessageBox("该用户账号为单点登录账号,该账号已经在其他地方登录"); // return false; // } //} return false; } public static void loadCollect(string userCode, DevExpress.XtraGrid.GridControl gridControl, DevExpress.XtraGrid.Views.Grid.GridView gridView1) { if (string.IsNullOrWhiteSpace(userCode)) return; DevExpress.Utils.WaitDialogForm _wait = new DevExpress.Utils.WaitDialogForm("正在查找...请稍等..."); try { _wait.Show(); dataSource = null; dataSource = FindSIMULATION(userCode).Copy(); gridControl.DataSource = dataSource; gridView1.BestFitColumns(); _wait.Close(); } catch (Exception ex) { ICSBaseSimpleCode.AppshowMessageBox("异常:" + ex.Message); _wait.Close(); } } #region 主表数据 private static DataTable FindSIMULATION(string userCode) { string sql = @"SELECT distinct a.ProjectCode, a.mocode, b.LOTNO , A.ITEMCODE , c.ROUTECODE , e.ROUTEDESC, c.OPCODE, f.OPDESC , c.EQPCODE , c.[ACTION], c.NGTIMES , c.UserCodeBegin, g.UserName AS UserNameBegin, c.UserCodeEnd , h.UserName AS UserNameEnd , CONVERT ( datetime, CASE LEN(c.BeginTime) WHEN '5' THEN SUBSTRING ( CAST (c.BeginDate AS CHAR), 1, 4 ) + '-' + SUBSTRING ( CAST (c.BeginDate AS CHAR), 5, 2 ) + '-' + SUBSTRING (CAST(BeginDate AS CHAR), 7, 2) + ' ' + SUBSTRING (CAST(BeginTime AS CHAR), 1, 1) + ':' + SUBSTRING (CAST(BeginTime AS CHAR), 2, 2) + ':' + SUBSTRING (CAST(BeginTime AS CHAR), 4, 2) WHEN '6' THEN SUBSTRING ( CAST (c.BeginDate AS CHAR), 1, 4 ) + '-' + SUBSTRING ( CAST (c.BeginDate AS CHAR), 5, 2 ) + '-' + SUBSTRING (CAST(BeginDate AS CHAR), 7, 2) + ' ' + SUBSTRING (CAST(BeginTime AS CHAR), 1, 2) + ':' + SUBSTRING (CAST(BeginTime AS CHAR), 3, 2) + ':' + SUBSTRING (CAST(BeginTime AS CHAR), 5, 2) END ) AS BeginTime, CONVERT ( datetime, CASE LEN(EndTime) WHEN '5' THEN SUBSTRING (CAST(EndDate AS CHAR), 1, 4) + '-' + SUBSTRING (CAST(EndDate AS CHAR), 5, 2) + '-' + SUBSTRING (CAST(EndDate AS CHAR), 7, 2) + ' ' + SUBSTRING (CAST(EndTime AS CHAR), 1, 1) + ':' + SUBSTRING (CAST(EndTime AS CHAR), 2, 2) + ':' + SUBSTRING (CAST(EndTime AS CHAR), 4, 2) WHEN '6' THEN SUBSTRING (CAST(EndDate AS CHAR), 1, 4) + '-' + SUBSTRING (CAST(EndDate AS CHAR), 5, 2) + '-' + SUBSTRING (CAST(EndDate AS CHAR), 7, 2) + ' ' + SUBSTRING (CAST(EndTime AS CHAR), 1, 2) + ':' + SUBSTRING (CAST(EndTime AS CHAR), 3, 2) + ':' + SUBSTRING (CAST(EndTime AS CHAR), 5, 2) END ) AS EndTime, DATEDIFF( s, CONVERT ( datetime, CASE LEN(BeginTime) WHEN '5' THEN SUBSTRING (CAST(BeginDate AS CHAR), 1, 4) + '-' + SUBSTRING (CAST(BeginDate AS CHAR), 5, 2) + '-' + SUBSTRING (CAST(BeginDate AS CHAR), 7, 2) + ' ' + SUBSTRING (CAST(BeginTime AS CHAR), 1, 1) + ':' + SUBSTRING (CAST(BeginTime AS CHAR), 2, 2) + ':' + SUBSTRING (CAST(BeginTime AS CHAR), 4, 2) WHEN '6' THEN SUBSTRING (CAST(BeginDate AS CHAR), 1, 4) + '-' + SUBSTRING (CAST(BeginDate AS CHAR), 5, 2) + '-' + SUBSTRING (CAST(BeginDate AS CHAR), 7, 2) + ' ' + SUBSTRING (CAST(BeginTime AS CHAR), 1, 2) + ':' + SUBSTRING (CAST(BeginTime AS CHAR), 3, 2) + ':' + SUBSTRING (CAST(BeginTime AS CHAR), 5, 2) END ), CONVERT ( datetime, CASE LEN(EndTime) WHEN '5' THEN SUBSTRING (CAST(EndDate AS CHAR), 1, 4) + '-' + SUBSTRING (CAST(EndDate AS CHAR), 5, 2) + '-' + SUBSTRING (CAST(EndDate AS CHAR), 7, 2) + ' ' + SUBSTRING (CAST(EndTime AS CHAR), 1, 1) + ':' + SUBSTRING (CAST(EndTime AS CHAR), 2, 2) + ':' + SUBSTRING (CAST(EndTime AS CHAR), 4, 2) WHEN '6' THEN SUBSTRING (CAST(EndDate AS CHAR), 1, 4) + '-' + SUBSTRING (CAST(EndDate AS CHAR), 5, 2) + '-' + SUBSTRING (CAST(EndDate AS CHAR), 7, 2) + ' ' + SUBSTRING (CAST(EndTime AS CHAR), 1, 2) + ':' + SUBSTRING (CAST(EndTime AS CHAR), 3, 2) + ':' + SUBSTRING (CAST(EndTime AS CHAR), 5, 2) END ) ) * 1.0 / 3600 AS Hours, round(convert(float,i.STIME),2) AS STIME FROM ICSMO A LEFT JOIN ICSMO2Lot B ON A.MOCODE = B.MOCODE LEFT JOIN ICSLOTONWIP c ON a.MOCODE = c.MOCODE AND B.LOTNO = C.LOTNO AND ( c.[ACTION] IN ('GOOD', 'NG') OR [ACTION] IS NULL ) LEFT JOIN ICSMO2ROUTE d ON a.MOCODE = d.MOCODE LEFT JOIN ICSROUTE e ON d.ROUTECODE = e.routecode LEFT JOIN ICSOP f ON c.opcode = f.opcode LEFT JOIN Sys_User G ON C.UserCodeBegin = G.Usercode LEFT JOIN Sys_User h ON c.UserCodeEnd = h.UserCode LEFT JOIN ICSEQPSTP i ON a.itemcode = i.itemcode AND c.opcode = i.opcode WHERE ( c.[ACTION] IN ('GOOD', 'NG') OR [ACTION] IS NULL ) AND year(c.MTIME)+month(c.MTIME) = year(getDate())+month(getDate()) AND c.UserCodeEnd = '" + userCode + "'"; DataTable data = DBHelper.ExecuteDataset(AppConfig.AppConnectString, CommandType.Text, sql).Tables[0]; return data; } #endregion public static string GetFTPToPath(string path) { try { string returnpath = ""; string connectionString = AppConfig.GetDataBaseConnectStringByKey("[DB.FTP]"); string[] ftps = connectionString.Split(';'); string ftpServerIP = ftps[0].Split('=')[1]; string ftpRemotePath = ftps[1].Split('=')[1]; string ftpUserID = ftps[2].Split('=')[1]; string ftpPassword = ftps[3].Split('=')[1]; string TempFile = ConfigurationManager.AppSettings["MesTempFilePath"].ToString(); ; //MesTempFilePath if (Directory.Exists(TempFile) == false)//如果不存在就创建file文件夹 { Directory.CreateDirectory(TempFile); } else { DeleteFile(TempFile, 3);//删除3天前的临时图纸文件 } string fileName = ""; //例子:\\192.168.0.40\share\9db49a4d-7b42-41f7-a037-62ef95551276_0100001ZH1410011040.pdf int index = path.LastIndexOf("\\"); string pathfrom = path.Substring(0, index + 1);//例子:\\192.168.0.40\share\ pathfrom = pathfrom.Replace("\\", "/").TrimStart('/').TrimStart('/'); //例子://192.168.0.40/share/ FtpWeb ftpWeb = new FtpWeb(pathfrom, ftpUserID, ftpPassword); fileName = path.Substring(index + 1);//例子:9db49a4d-7b42-41f7-a037-62ef95551276_0100001ZH1410011040.pdf if (ftpWeb.FileExist(fileName)) { string filePathName = TempFile + "\\" + fileName; if (File.Exists(filePathName)) { File.Delete(filePathName); } ftpWeb.Download(TempFile + "\\", fileName); returnpath = filePathName; } else { returnpath = ""; } return returnpath; } catch (Exception ex) { throw ex; } } /// /// 删除文件夹 /// /// /// private static void DeleteFile(string fileDirect, int saveDay) { DateTime nowTime = DateTime.Now; DirectoryInfo root = new DirectoryInfo(fileDirect); DirectoryInfo[] dics = root.GetDirectories();//获取文件夹 FileAttributes attr = File.GetAttributes(fileDirect); if (attr == FileAttributes.Directory)//判断是不是文件夹 { foreach (DirectoryInfo file in dics)//遍历文件夹 { TimeSpan t = nowTime - file.CreationTime; //当前时间 减去 文件创建时间 int day = t.Days; if (day > saveDay) //保存的时间 ; 单位:天 { Directory.Delete(file.FullName, true); //删除超过时间的文件夹 } } } } } }