Advertisement
Tark_Wight

cppFileCleaner

Aug 11th, 2023
170
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.77 KB | Source Code | 0 0
  1. using System;
  2. using System.IO;
  3.  
  4. class Program
  5. {
  6.     static void Main(string[] args)
  7.     {
  8.         string sourceDirectory = @"путь_к_директории_с_cpp_файлами";
  9.         string destinationDirectory = Path.Combine(sourceDirectory, "clean solution");
  10.  
  11.         if (!Directory.Exists(destinationDirectory))
  12.         {
  13.             Directory.CreateDirectory(destinationDirectory);
  14.         }
  15.  
  16.         string[] cppFiles = Directory.GetFiles(sourceDirectory, "*.cpp");
  17.  
  18.         foreach (string cppFile in cppFiles)
  19.         {
  20.             CleanCppFile(cppFile, destinationDirectory);
  21.         }
  22.  
  23.         Console.WriteLine("Очистка завершена.");
  24.     }
  25.  
  26.     static void CleanCppFile(string filePath, string destinationDirectory)
  27.     {
  28.         string[] lines = File.ReadAllLines(filePath);
  29.         bool foundSolutionMarker = false;
  30.         int endIndex = -1;
  31.  
  32.         for (int i = 0; i < lines.Length; i++)
  33.         {
  34.             if (lines[i].Contains("//  //  //  //  //  //  //  Solution  //  //  //  //  //  //  //"))
  35.             {
  36.                 foundSolutionMarker = true;
  37.                 endIndex = i;
  38.                 break;
  39.             }
  40.         }
  41.  
  42.         if (foundSolutionMarker)
  43.         {
  44.             string fileName = Path.GetFileName(filePath);
  45.             string destinationPath = Path.Combine(destinationDirectory, fileName);
  46.  
  47.             using (StreamWriter writer = new StreamWriter(destinationPath))
  48.             {
  49.                 for (int i = 0; i <= endIndex; i++)
  50.                 {
  51.                     writer.WriteLine(lines[i]);
  52.                 }
  53.             }
  54.         }
  55.         else
  56.         {
  57.             Console.WriteLine($"Не найден маркер Solution в файле: {filePath}");
  58.         }
  59.     }
  60. }
  61.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement