البرمجة

إنشاء ملف مضغوط في C# لدمج محتويات ثلاثة دلائل

في هذا السياق، سأقدم لك إرشادات مفصلة حول كيفية إنشاء ملف مضغوط (zip) باستخدام لغة البرمجة C#، حيث يشمل الملف المضغوط محتويات ثلاثة دلائل هي c:\Temp\Config، c:\Temp\Data، و c:\Temp\scripts. يعد استخدام تقنيات البرمجة لإتمام هذه المهمة تحديًا مثيرًا للاهتمام.

قبل أن نبدأ، يجب أن نتأكد من أنك قد قمت بتضمين مكتبة System.IO.Compression.FileSystem في مشروعك، والتي توفر الوظائف اللازمة للتعامل مع ملفات الضغط في C#.

الخطوة الأولى تكون باستخدام الأسطر التالية لإنشاء ملف مضغوط جديد:

csharp
using System.IO; using System.IO.Compression; string zipPath = @"c:\temp\Backup.zip"; using (ZipArchive archive = ZipFile.Open(zipPath, ZipArchiveMode.Create)) { // Code to add files from c:\Temp\Config string configPath = @"c:\Temp\Config"; foreach (string file in Directory.GetFiles(configPath)) { string entryName = Path.Combine("Config", Path.GetFileName(file)); archive.CreateEntryFromFile(file, entryName); } // Code to add files from c:\Temp\Data string dataPath = @"c:\Temp\Data"; foreach (string file in Directory.GetFiles(dataPath)) { string entryName = Path.Combine("Data", Path.GetFileName(file)); archive.CreateEntryFromFile(file, entryName); } // Code to add files from c:\Temp\scripts string scriptsPath = @"c:\Temp\scripts"; foreach (string file in Directory.GetFiles(scriptsPath)) { string entryName = Path.Combine("Scripts", Path.GetFileName(file)); archive.CreateEntryFromFile(file, entryName); } }

في هذا الكود، نقوم بفتح ملف مضغوط جديد باستخدام ZipFile.Open ونضيف الملفات من الدلائل المختلفة باستخدام archive.CreateEntryFromFile. يتم تحديد المسار المستهدف لكل ملف داخل الملف المضغوط بشكل هرمي باستخدام الأسماء “Config”، “Data”، و “Scripts” كمثال.

بعد أن يتم تنفيذ هذا الكود بنجاح، ستجد ملف Backup.zip في المسار الذي حددته (c:\temp\Backup.zip) يحتوي على محتويات الدلائل الثلاثة بشكل مضغوط. يمكنك تكييف هذا الكود حسب احتياجات مشروعك وتغيير هيكل الملفات أو الأسماء وفقًا لمتطلباتك الخاصة.

المزيد من المعلومات

بالطبع، سأزيد من التفاصيل لفهم أفضل حول الكود المقدم وكيف يتم إنشاء الملف المضغوط (zip) وتنظيم محتوياته.

في بداية الكود، يتم استخدام الـ using للتأكد من إغلاق ملف المضغوط بشكل صحيح عند الانتهاء من استخدامه. يتم تعيين المسار الذي سيتم حفظ الملف المضغوط فيه إلى zipPath، وهو c:\temp\Backup.zip في هذا السياق.

ثم يتم استخدام ZipFile.Open لفتح ملف مضغوط جديد بوضعية الإنشاء (ZipArchiveMode.Create). يتم تخزين هذا الأرشيف في متغير archive.

بعد ذلك، يتم إجراء عملية إضافة الملفات إلى الملف المضغوط. للقيام بذلك، يتم تحديد المسار لكل دليل (configPath، dataPath، scriptsPath) واستخدام Directory.GetFiles للحصول على قائمة بجميع الملفات في هذه الدلائل.

ثم يتم استخدام حلقات foreach لتكرار كل ملف وإضافته إلى الملف المضغوط باستخدام archive.CreateEntryFromFile. يتم تحديد اسم الإدخال (entry) الذي سيظهر داخل الملف المضغوط بواسطة Path.Combine، حيث يتم دمج اسم الفهرس (“Config”، “Data”، “Scripts”) مع اسم الملف.

بهذه الطريقة، يتم تنظيم الملفات داخل الملف المضغوط بشكل تسلسلي، ويمكن الوصول إليها بنية مشتركة. يمكنك تعديل الأكواد وفقًا لاحتياجاتك الخاصة، مثلاً يمكنك إضافة تعليقات إضافية لتوضيح كل خطوة، أو إضافة معالجة للأخطاء لتحسين مرونة البرنامج.

زر الذهاب إلى الأعلى