class Program
{
static void Main(string[] args)
{
Console.Write("请输入要读取文件夹的路径:");
string path=Console.ReadLine();
//string[] files = Directory.GetFiles($"E:/WebSite站点", "*", SearchOption.AllDirectories);
string[] files = Directory.GetFiles($"{path}", "*", SearchOption.AllDirectories);
//创建一个DataTable对象
DataTable dt = new DataTable();
dt.Columns.Add("CreationTime");
dt.Columns.Add("DirectoryName");
dt.Columns.Add("Extension");
dt.Columns.Add("FullName");
dt.Columns.Add("LastAccessTime");
dt.Columns.Add("LastWriteTime");
dt.Columns.Add("Length");
dt.Columns.Add("Name");
foreach (var item in files)
{
FileInfo fi = new FileInfo(item);
Console.WriteLine($"文件名:{fi.Name} | 创建时间:{fi.CreationTime} | 修改时间:{fi.LastWriteTime}");
//给dt内存表插入数据
dt.Rows.Add(fi.CreationTime, fi.DirectoryName, fi.Extension, fi.FullName,
fi.LastAccessTime, fi.LastWriteTime, int.Parse(fi.Length.ToString()), fi.Name);
}
System.Diagnostics.Stopwatch st = new System.Diagnostics.Stopwatch();
st.Start();
using (SqlConnection conn = new SqlConnection("Data Source=.;Initial Catalog=WebSiteFileManagementDB;User ID=sa;Password=123456"))
{
conn.Open();
using (SqlBulkCopy bulkCopy = new SqlBulkCopy(conn))
{
try
{
//插入到数据库的目标表 TbA:表名
bulkCopy.DestinationTableName = "[dbo].[FileInfo]";
//内存表的字段 对应数据库表的字段
bulkCopy.ColumnMappings.Add("CreationTime", "CreationTime");
bulkCopy.ColumnMappings.Add("DirectoryName", "DirectoryName");
bulkCopy.ColumnMappings.Add("Extension", "Extension");
bulkCopy.ColumnMappings.Add("FullName", "FullName");
bulkCopy.ColumnMappings.Add("LastAccessTime", "LastAccessTime");
bulkCopy.ColumnMappings.Add("LastWriteTime", "LastWriteTime");
bulkCopy.ColumnMappings.Add("Length", "Length");
bulkCopy.ColumnMappings.Add("Name", "Name");
bulkCopy.WriteToServer(dt);
}
catch (Exception ex)
{
Console.WriteLine(ex);
}
}
}
st.Stop();
Console.WriteLine("成功!测试时间为:" + st.ElapsedMilliseconds);
Console.ReadKey();
}
}