Program.cs 2.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Configuration;
  4. using System.IO;
  5. using System.Linq;
  6. using System.Text;
  7. using System.Threading.Tasks;
  8. using X3TaskServer54;
  9. namespace Test
  10. {
  11. internal class Program
  12. {
  13. static void Main(string[] args)
  14. {
  15. var dirs = Directory.GetFiles("D:\\Data21\\XDHJC");
  16. Directory.CreateDirectory("tmp1");
  17. Directory.CreateDirectory("tmp2");
  18. int count = 0;
  19. var copyFreqsArr = ConfigurationManager.AppSettings["CopyFreqs"].Split(";".ToCharArray(), StringSplitOptions.RemoveEmptyEntries);
  20. List<double> listFreqs=copyFreqsArr.Select(p=>Convert.ToDouble(p.Trim())).ToList();
  21. foreach (var dir in dirs)
  22. {
  23. bool contains = false;
  24. foreach (var item in listFreqs)
  25. {
  26. if (dir.Contains(item.ToString()))
  27. {
  28. contains= true;
  29. break;
  30. }
  31. }
  32. if (!contains) continue;
  33. var res = SlotHelper.GetFileSlots(dir);
  34. if (res.Slots.Any())
  35. {
  36. string adFileName1 = $"{res.AdTime:yyyyMMddHHmmss}_ADC_ch00.dat";
  37. string adFileName2 = $"{res.AdTime:yyyyMMddHHmmss}_ADC_ch01.dat";
  38. string adFileName3 = $"{res.AdTime:yyyyMMddHHmmss}_ADC_ch02.dat";
  39. string adFile1 = $"F:\\{adFileName1}";
  40. string adFile2 = $"F:\\{adFileName2}";
  41. string adFile3 = $"F:\\{adFileName3}";
  42. if (File.Exists(adFile1))
  43. {
  44. if (File.Exists($"tmp1\\{Path.GetFileName(dir)}")) continue;
  45. Console.WriteLine($"正在拷贝第{count+1}组文件...");
  46. File.Copy(dir, $"tmp1\\{Path.GetFileName(dir)}");
  47. File.Copy(adFile1, $"tmp2\\{Path.GetFileName(adFile1)}");
  48. File.Copy(adFile2, $"tmp2\\{Path.GetFileName(adFile2)}");
  49. File.Copy(adFile3, $"tmp2\\{Path.GetFileName(adFile3)}");
  50. count++;
  51. }
  52. else
  53. {
  54. Console.WriteLine($"{Path.GetFileName(dir)}缺少{res.AdTime}时刻AD文件");
  55. }
  56. }
  57. }
  58. Console.WriteLine($"拷贝了{count}组文件");
  59. Console.ReadLine();
  60. }
  61. }
  62. }