// See https://aka.ms/new-console-template for more information using System; using FileCompression.Interfaces; using FileCompression.Services.Strategies; using FileCompression.Services.Composites; using FileCompression; using FileCompression.Enums; // dotnet run --project FileCompressionCLI/ /home/danielcujba/Pictures/Screenshots/ /home/danielcujba/Downloads/destination.zip Zip // dotnet run --project FileCompressionCLI/ /home/danielcujba/Pictures/Screenshots/ /home/danielcujba/Downloads/destination.tar Tar // dotnet run --project FileCompressionCLI/ /home/danielcujba/Pictures/Screenshots/ /home/danielcujba/Downloads/destination.tar.gz TarGz namespace FileCompressionCLI { class Program { static void Main(string[] args) { if (args.Length < 3) { Console.WriteLine("Usage: FileCompressionCLI "); return; } string sourcePath = args[0]; string destinationPath = args[1]; if (!Enum.TryParse(args[2], true, out CompressionMode mode)) { Console.WriteLine($"Invalid compression mode: {args[2]}"); return; } Compressor.Instance.Compress(sourcePath, destinationPath, mode); } } }