Example #1
0
        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("Отчёт создан");
        }
Example #2
0
 public FileListTemplate(FileListModel model)
 {
     _model = model;
 }