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 } }