1.vs2017创建控制台运用程序

2.NuGet程序包安装:log4net

3.Program.cs

using log4net.Config;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.Diagnostics;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading;
using System.Threading.Tasks;

namespace Long4Sql
{
    class Program
    {
        // 参考文章:https://blog.csdn.net/chinacsharper/article/details/17791449
        static void Main(string[] args)
        {
            Stopwatch stopwatch = new Stopwatch();
            stopwatch.Start();
            Console.WriteLine("程序Start!");
            Logger.LoggerMsg(Loglevel.Info, $"程序Start:{DateTime.Now.ToShortDateString().ToString()}/{DateTime.Now.TimeOfDay.ToString()}");
            Thread.Sleep(5000);
            var strPaths = ConfigurationManager.AppSettings["dirPath"];
            List<FileInfo> lst = new List<FileInfo>();
            List<FileInfo> lstfiles = GetFiles(strPaths, ".jpg", ref lst);
            DirectoryInfo info = new DirectoryInfo(strPaths);
            try
            {
                foreach (FileInfo item in lstfiles)
                {
                    Logger.LoggerMsg(Loglevel.Info, item.ToString());// 输入到数据库
                    Console.WriteLine(item); // 输出到控制台
                }
            }
            catch (Exception ex)
            {
                Logger.LoggerMsg(Loglevel.Error, ex.ToString());
            }


            Console.WriteLine("当前获取到的文件总数:{0}", GetFilesCount(info));
            Console.WriteLine("执行完成");

            Logger.LoggerMsg(Loglevel.Info, $"程序Stop:{DateTime.Now.ToShortDateString().ToString()}/{DateTime.Now.TimeOfDay.ToString()}");
            Console.WriteLine("程序STOP!");
            Console.ReadKey();
        }
        #region 获取指定文件夹下的指定后缀文件后缀(包括获取子文件下的)

        /// <summary>
        /// 获取指定文件夹下的指定后缀文件后缀(包括获取子文件下的)
        /// </summary>
        /// <param name="path">文件夹路径</param>
        /// <param name="ExtName">文件后缀</param>
        /// <param name="lst"></param>
        /// <returns></returns>
        public static List<FileInfo> GetFiles(string path, string ExtName, ref List<FileInfo> lst)
        {

            try
            {
                //List<FileInfo> lst = new List<FileInfo>();
                string[] dir = Directory.GetDirectories(path);// 文件夹列表
                DirectoryInfo directoryInfo = new DirectoryInfo(path);
                FileInfo[] files = directoryInfo.GetFiles();
                if (files.Length != 0 || dir.Length != 0) // 当前目录文件或文件夹不能为空
                {
                    foreach (FileInfo f in files)
                    {
                        if (ExtName.ToLower().IndexOf(f.Extension.ToLower()) >= 0)
                        {
                            lst.Add(f);
                        }
                    }
                    foreach (string d in dir)
                    {
                        GetFiles(d, ExtName, ref lst);
                    }
                }
                return lst;
            }
            catch (Exception ex)
            {

                throw ex;
            }
        }
        #endregion

        #region 获取文件总数

        public static int GetFilesCount(DirectoryInfo directoryInfo)
        {
            int totalFile = 0;
            totalFile += directoryInfo.GetFiles().Length;
            foreach (DirectoryInfo f in directoryInfo.GetDirectories())
            {
                totalFile += GetFilesCount(f);
            }
            return totalFile;
        }
        #endregion
    }
}
View Code

相关文章:

  • 2022-12-23
  • 2021-10-31
  • 2021-10-06
  • 2022-12-23
  • 2022-01-19
  • 2021-12-25
  • 2022-12-23
  • 2021-11-24
猜你喜欢
  • 2022-01-30
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案