|
|
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<string> 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; }
}
/// <summary>
/// 删除文件夹
/// </summary>
/// <param name="fileDirect"></param>
/// <param name="saveDay"></param>
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); //删除超过时间的文件夹
} } } } } }
|