private static void Main(string[] args) { var(sourceFolder, targetFolder) = ParseCommandLine(args); if (string.IsNullOrEmpty(sourceFolder) || string.IsNullOrEmpty(targetFolder)) { Usage(); return; } var model = new FileListModel(); var allFiles = Directory.EnumerateFiles(sourceFolder, "*.*", SearchOption.AllDirectories) .ToList(); Console.WriteLine("Исполнимые файлы:"); foreach (var sourceFileName in allFiles.Where(fileName => PeFile.IsPeFile(fileName) || ElfFile.IsElfFile(fileName))) { var relativeFileName = Path.GetRelativePath(sourceFolder, sourceFileName); Console.WriteLine(" " + relativeFileName); var targetFileName = Path.Combine(targetFolder, relativeFileName); Directory.CreateDirectory(Path.GetDirectoryName(targetFileName)); File.Copy(sourceFileName, targetFileName); model.AddFile(targetFileName, relativeFileName); } Console.WriteLine("Файлы скопированы"); File.WriteAllText("FileListReport.html", new FileListTemplate(model).TransformText()); Console.WriteLine("Отчёт создан"); }
public FileListTemplate(FileListModel model) { _model = model; }