Program.cs 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  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. if (File.Exists($"tmp2\\{Path.GetFileName(adFile1)}")) continue;
  48. File.Copy(adFile1, $"tmp2\\{Path.GetFileName(adFile1)}");
  49. File.Copy(adFile2, $"tmp2\\{Path.GetFileName(adFile2)}");
  50. File.Copy(adFile3, $"tmp2\\{Path.GetFileName(adFile3)}");
  51. count++;
  52. }
  53. else
  54. {
  55. Console.WriteLine($"{Path.GetFileName(dir)}缺少{res.AdTime}时刻AD文件");
  56. }
  57. }
  58. }
  59. Console.WriteLine($"拷贝了{count}组文件");
  60. Console.ReadLine();
  61. }
  62. }
  63. }