//на этом этапе, копируем новый контент в папки data + приводим в порядок ихний info.txt public override void WORK() { if (DATA._newExist) { // Console.WriteLine(CONST._INS + "НЕЧЕГО ДОБАВИТЬ"); return; } foreach (var _ref in PATH.refs) { DirectoryInfo di = new DirectoryInfo(_ref.newPass); if (_ref._type == "FOOD") { //для котов catParseWork(_ref, di); continue; } DirectoryInfo[] diA = di.GetDirectories(); int stIndex = getStartIndex(_ref.destinationPass); foreach (var content in diA) { string ins = new String(' ', 20 - "CHANGE".Length); //переписываем данные файла info.txt Console.WriteLine(String.Format("{0}{1}{3}| {2}", CONST._INS, "CHANGE", content.Name, ins)); changeInfoContent(content); } DirectoryInfo[] diAAfter1 = di.GetDirectories(); foreach (var content in diAAfter1) { FILEWORK.renameDir(content.FullName, stIndex.ToString()); stIndex = stIndex + 1; } DirectoryInfo[] diAAfter2 = di.GetDirectories(); foreach (var content in diAAfter2) { addNewContent(content); string ins = new String(' ', 20 - "COPY".Length); //переписываем данные файла info.txt Console.WriteLine(String.Format("{0}{1}{3}| {2}", CONST._INS, "COPY", content.Name, ins)); string oldName = content.FullName; string newName = _ref.destinationPass + "\\" + content.Name; FILEWORK.moveDir(oldName, newName); // changeInfoContent(content); } } }
public void checkDir(String folder) { //если пустая то проходим if (FILEWORK.isEmptyDir(folder)) { return; } //если содержит файл то пропускаем DirectoryInfo di = new DirectoryInfo(folder); //проверка на недопустимые файлы FileInfo[] fi = di.GetFiles(); if (fi.Length > 0) { throw new Exception(String.Format("{0} содержит недопустимые файлы", di.Name)); } //проверка на пустые папки внутри DirectoryInfo[] diA = di.GetDirectories(); foreach (var content in diA) { //проверка конкретный контент int number; bool success = Int32.TryParse(content.Name, out number); if (success) { string newpath = FILEWORK.renameDir(content.FullName, String.Format("a{0}", content.Name)); Console.WriteLine("{0}wrong name: {1} ->renaming", CONST._INS, content.Name); } } DirectoryInfo[] diB = di.GetDirectories(); foreach (var content in diB) { //проверка конкретный контент checkContent(content, di); } }