明净

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

 

 

 1 /// <summary>
 2         /// 录音录像图片文件过多只复制目录的前几个文件,用于测试程序
 3         /// d:\file/images/2019-10/01/01/xxxxx.jpg(前几个文件)
 4         /// 复制到
 5         /// E:\file/images/2019-10/01/01/xxxxx.jpg
 6         /// 
 7         /// copyfiles("d:\file","e:\file");
 8         /// </summary>
 9         /// <param name="path">源目录</param>
10         /// <param name="toPath">目的目录</param>
11         /// <param name="Num">文件个数</param>
12         public static void CopyFiles(string path,string toPath,int Num)
13         {
14             var logger = NLog.LogManager.GetCurrentClassLogger();
15             DirectoryInfo dir = new DirectoryInfo(path);
16             DirectoryInfo[] childs = dir.GetDirectories();
17             string newdirStr;
18             if (dir.Name.IndexOf(':') == -1)
19             {
20                 DirectoryInfo newdir = Directory.CreateDirectory(toPath + "\\" + dir.Name);
21                 newdirStr = newdir.FullName;
22             }
23             else
24             {
25                 newdirStr = toPath;
26             }
27             if (childs.Length>0)
28             {
29                 foreach (var child in childs)
30                 {
31                     if ((child.Attributes & FileAttributes.Hidden) == FileAttributes.Hidden)
32                     {
33                         continue;
34                     }
35                     CopyFiles(child.FullName, newdirStr, Num);
36                 }
37             }
38             else
39             {
40                 dir.GetFiles().Take(Num).ToList().ForEach(f => {
41                     string newfilename = newdirStr + "\\" + f.Name;
42                     File.Copy(f.FullName, newfilename, true);
43                     logger.Info($"复制文件:{f.FullName}");
44                     logger.Info($"复制文件:{newfilename}");
45                 });
46             }
47         }

 

posted on 2019-08-14 19:08  明净  阅读(239)  评论(0)    收藏  举报