string[] files = Directory.GetFiles(@"C:\*\TempFile\SFISServerMngr", "*.ack", SearchOption.AllDirectories);新人求助:
C盘下有下列文件夹甚至更多类似文件夹,且每个都有可能包含*.ack文件
C:\ABCC\TempFile1\SFISServerMngr,
C:\CSSDSF\TempFile2\SFISServerMngr,
C:\ADEEF\TempFile3\SFISServerMngr,
C:\ADEEFD\TempFile\SFISServerMngr,
 等等可能有更多类似文件夹都包含*.ack文件
我想确认TempFile\SFISServerMngr下,如果包含*.ack文件则返回完整路径,如果不包含则显示“不存在”感谢各位大佬!

解决方案 »

  1.   

    这是我程序用到的,可以看下
    public void DeleteLog(string strBaseDir)
            {
                try
                {
                    DirectoryInfo di = new DirectoryInfo(strBaseDir);
                    DirectoryInfo[] diA = di.GetDirectories();//子文件夹名
                    FileInfo[] fileInfo = di.GetFiles();//文件名
                    foreach (var item in fileInfo)
                    {
                        if (item.Extension == ".txt")
                        {
                            int filename = 0;
                            if (int.TryParse(item.Name.Substring(10, 8), out filename))
                            {
                                if (filename < Convert.ToInt32(DateTime.Now.AddDays(-7).ToString("yyyyMMdd")))
                                {
                                    File.Delete(item.FullName);
                                }
                            }
                            else
                                continue;
                        }
                    }
                    for (int i = 0; i < diA.Length; i++)
                    {
                        DeleteLog(diA[i].FullName);
                    }
                }
                catch (Exception ex)
                {
                    Clog.Logger.FileLogger.WriteLog(LogLevel.FAT, ex.Message, "");
                }
            }
      

  2.   

    只要改一下item.Extension == ".ack",然后下面File.Delete(item.FullName);这里面的item.FullName就是全路径名字