Extract کردن هر نوع فایل فشرده با unrar و سی شارپ

ممکنه تا حالا براتون پیش اومده باشه که بخاین یه فایل فشرده مثل Rar رو با برنامه خودتون Extract کنید و دنبال کدها و کتابخونه های مختلفی رفته باشید، همینطور که میدونید Rar یه نوع الگوریتم فشرده سازی اختصاصی هستش که توسط نرم افزار winrar استفاده میشه، بعضی از کتابخونه ها از فرمت rar پشتیبانی میکنن و امکان Extract کردن رو به کاربر میدن، ولی هیچکدوم از نسخه Rar 5 پشتیبانی نمیکنن (تا جایی که من اطلاع دارم) rar 5 الگوریتم جدید rar هستش که درصد فشرده سازیش بیشتره!

امروز داشتم یه اپدیتر خودکار برای خودم مینوشتم که بیاد فایل اپدیت رو دانلود و نصب کنه از اونجایی که فایل اپدیت با الگوریتم rar 5 فشرده سازی شده بود امکان اکسترکت کردن با کتابخونه ها نبود و علاقه ای هم به نصب کتابخونه های حجیم نداشتم، حالا راه حل من برای extract کردن چی بود؟

شرکت rarlab که نرم افزار winrar رو توسعه داده و همه ما با کرک ازش استفاده میکنیم، یه نسخه خط فرمان به اسم unrar رو هم توسعه داده که کاملا رایگانه و مختص برنامه نویس ها و افرادیه که میخان از خط فرمان استفاده بکنن، من به کمک این برنامه و ارسال دستورات خط فرمان از طریق سی شارپ تونستم براحتی فایل rar 5 رو extract کنم.

کدش رو اینجا میزارم تا اگر کسی علاقمند بود ازش استفاده کنه: (قبلش unrar رو از اینجا دانلود و اکسترکت کنید)

System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.CreateNoWindow = true;
p.StartInfo.UseShellExecute = false;
p.StartInfo.FileName = &quotUnRAR.exe&quot
p.StartInfo.Arguments = string.Format(@&quotx -s &quot&quot{0}&quot&quot *.*&quot, &quotfile.rar&quot);
p.Start();
p.WaitForExit();