//按内容搜索文件,返回搜索到的文件个数 public int searchFile(string content, int IsGarbage) { int fileCount = 0; string sDirectory = ""; string sFileName = ""; string sPath = ""; string sDate = ""; dbMailBox PopMail = new dbMailBox("Pop"); dbMailBox SmtpMail = new dbMailBox("Smtp"); dbMailSite GetMail = new dbMailSite("Get"); dbMailSite SendMail = new dbMailSite("Send"); if (content.Length > 0) { using (Connection) { Connection.Open(); using (OleDbCommand cmd = Connection.CreateCommand()) { cmd.CommandText = string.Format(@"select Filename,Directory,Path from Scope() where CONTAINS (Contents,'{0}') AND MATCHES(ShortFileName, '*.|(HTM|,EML|)')", content); using (OleDbDataAdapter da = new OleDbDataAdapter(cmd)) { using (DataTable dt = new DataTable()) { da.Fill(dt); fileCount = dt.Rows.Count; if (IsGarbage == 0)//对敏感信息关键字处理 { for (int i = 0; i < fileCount; i++) { sDirectory = dt.Rows[i]["Directory"].ToString(); sFileName = dt.Rows[i]["FileName"].ToString(); sDate = sDirectory.Substring(sDirectory.Length - 10, 8); sPath = sDirectory + "/" + sFileName; if (sDirectory.Substring(sDirectory.Length - 1) == "0") { PopMail.dpsRecByFile(sDate, sPath, IsGarbage); SmtpMail.dpsRecByFile(sDate, sPath, IsGarbage); } else { GetMail.dpsRecByFile(sDate, sPath, IsGarbage); SendMail.dpsRecByFile(sDate, sPath, IsGarbage); } } } if (IsGarbage == 1)//对垃圾邮件关键字处理 { for (int i = 0; i < fileCount; i++) { sPath = dt.Rows[i]["Path"].ToString(); File.Delete(sPath); if (sDirectory.Substring(sDirectory.Length - 1) == "0") { PopMail.dpsRecByFile(sDate, sPath, IsGarbage); SmtpMail.dpsRecByFile(sDate, sPath, IsGarbage); } else { GetMail.dpsRecByFile(sDate, sPath, IsGarbage); SendMail.dpsRecByFile(sDate, sPath, IsGarbage); } } } } } } } } return fileCount; }