Files
2025-07-03 20:56:38 +03:00

34 lines
1.3 KiB
C#

// 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 <sourcePath> <destinationPath> <compressionMode>");
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);
}
}
}