يمكن لـ Double Commander التعامل مع الملفات المضغوطة كما لو كانت مجلدات عادية.
على سبيل المثال، إذا كان لدينا ملف ZIP في اللوحة، يمكننا ببساطة اختياره والضغط على Enter، وستعرض اللوحة محتويات ZIP كما لو كنا ننتقل إلى دليل.
يتمتع Double Commander بمرونة كبيرة، حيث يمكنه استخدام برامج خارجية للتعامل مع الملفات المضغوطة عبر واجهته الخاصة. وهو يستخدم مبدأين مختلفين للتعامل مع هذه الملفات:
عندما نحاول فتح ملف أرشيف، يتحقق Double Commander أولاً من قائمة المكونات الإضافية (Packer Plugins) المتاحة.
بمجرد الدخول إلى ملف مضغوط، يمكننا تنفيذ بعض الوظائف الأساسية مثل عرض الملفات، ونسخها إلى لوحة أخرى، وبعض الوظائف المحدودة.
تظهر الصورة أدناه مثالاً حيث اخترنا ملف الأرشيف "help.rar" ثم ضغطنا على Enter كما لو كان دليلاً:

عند استدعاء أمر العرض (F3) أو التحرير (F4)، يقوم Double Commander باستخراج الملف الموجود تحت المؤشر إلى دليل النظام للملفات المؤقتة وفتحه. بعد إغلاق المشاهد، يتم حذف الملف المؤقت. إذا تم تغيير الملف المفتوح في المنقح، فسيعرض Double Commander إعادة حزمه (إذا كان تنسيق الأرشيف والمكون الإضافي أو أداة الأرشفة الخارجية تدعم هذه الميزة).
عند استخدام النقر المزدوج أو الضغط على Enter، سيعرض Double Commander نافذة خصائص الملف المحزوم:

يظهر سطر المحزم اسم المكون الإضافي المستخدم أو اسم أداة الأرشفة الخارجية.
الأزرار:
إغلاق – سيغلق نافذة الخصائص.
فك الضغط والتنفيذ – سيقوم Double Commander باستخراج الملف الموجود تحت المؤشر إلى دليل النظام للملفات المؤقتة، ويستدعي الإجراء الافتراضي في الارتباطات الداخلية أو ارتباطات النظام.
فك ضغط الكل والتنفيذ – مشابه للسابق، ولكنه سيستخرج محتويات الأرشيف بالكامل أولاً.
يسمح Double Commander بتكوين الملفات ليتم فتحها تلقائيًا في البرامج المرتبطة، باستخدام <AutoExtractOpenMask>.
عند الإغلاق، يقوم Double Commander بحذف جميع الملفات المؤقتة.
يمكننا تكوين Double Commander لاستخدام ملفات "مكونات إضافية للمحزم" خارجية للتعامل مع الأرشيفات المضغوطة.
منذ التثبيت، يتضمن Double Commander بالفعل بعض ملفات المكونات الإضافية .WCX هذه.
بالإضافة إلى ذلك، توجد مكونات إضافية أخرى على الإنترنت. يمكننا البحث عن مكونات .WCX.
تذكر أيضًا أن المكونات الإضافية المصنوعة لـ Total Commander يمكن استخدامها بشكل أساسي في Double Commander أيضًا.
لتثبيتها أو تمكينها أو تكوينها، نحتاج للذهاب إلى تكوين > خيارات... > المكونات الإضافية > المكونات الإضافية WCX:

يرجى ملاحظة أن بعض التنسيقات للقراءة فقط، مما يعني أنه يمكن فقط عرض المحتويات وفك الضغط والاختبار.
أحيانًا لا يوجد مكون إضافي لنوع ملف الأرشيف الذي نريد استخدامه.
أو لأي سبب كان، قد نرغب صراحة في استخدام محزم خارجي للاستفادة من سمات ووظائف غير متوفرة في المكون الإضافي.
يستخدم Double Commander مبدأ عمل مشابه للمكون الإضافي MultiArc في Total Commander للتعامل مع أدوات الأرشفة الخارجية.
باختصار، يمكن تلخيص استخدام أدوات الأرشفة الخارجية كالتالي: إنها طريقة لتشغيل أداة الأرشفة التي نعرفها ولكن بقيادة Double Commander، عبر تزويد الملف التنفيذي للأداة بمعلمات مختلفة تجعلها تبدو وكأنها مدمجة في التطبيق.
بقية هذه الصفحة ستناقش هذا الأمر: كيفية تكوين Double Commander لتشغيل أدوات الأرشفة الخارجية لتنفيذ العمليات التي نحتاجها.
لنفترض أننا نريد استخدام "rar.exe" للتعامل مع أرشيفات .rar.
كما نخمن، الشيء الأساسي هو أننا بحاجة لتكوين كيفية استدعاء أداة الأرشفة الخارجية لنتمكن من...
سيتم ذلك عبر خيار تكوين "أدوات الأرشفة" كما هو موضح في الصورة أدناه:

يتم تخزين جميع الإعدادات في ملف multiarc.ini.
في الأقسام التالية، سنرى الإمكانيات المختلفة التي يوفرها Double Commander لدمج استخدام المحزمات الخارجية بشكل صحيح.
لن نصف كل حقل هنا لأنه بمجرد البدء سيكون الأمر بديهيًا للغاية، ولكننا سنقضي وقتًا في وصف مثال للتكامل بالتفصيل.
سنصف تكامل أداة الأرشفة الخارجية "rar.exe". لا شيء أفضل من مثال كامل خطوة بخطوة.
ننقر على زر "إضافة" في الأسفل، ونعطي أداة الأرشفة اسمًا ذا معنى، ثم يمكننا البدء في تكوينها.

بعد ذلك نحتاج لتحديد وصف ذي معنى للأداة، والموقع الدقيق للملف التنفيذي للأداة، ثم امتدادات الملفات المرتبطة بهذه الأداة (بدون نقطة).
إذا كان لدينا عدة امتدادات، فما عليك سوى الفصل بينها بفاصلة واحدة دون مسافات.

ملاحظة: يدعم Double Commander الامتدادات المزدوجة (مثل "tar.gz"، "tar.xz"، إلخ)، ويجب وضعها في بداية قائمة الامتدادات (أي "tar.gz" قبل "gz").
كما ذكرنا سابقًا، نحتاج لتكوين كيفية استدعاء الملف التنفيذي للأداة الخارجية لتنفيذ الإجراءات التي نريدها.
لمساعدتنا في ذلك، يوفر Double Commander العديد من المتغيرات المخصصة لملء سلاسل التكوين لمختلف العمليات التي يمكننا تكوينها.
يوضح الجدول أدناه المتغيرات التي يمكن استخدامها وما سيتم استبدالها به:
| تعريف الأوامر | |
|---|---|
| تعبير المتغير | المعنى |
%P | الاسم الطويل لأداة الأرشفة (كما هو موضح في مفتاح "Archiver") |
%p | الاسم القصير لأداة الأرشفة (كما هو موضح في مفتاح "Archiver") |
%A | الاسم الطويل لملف الأرشيف |
%a | الاسم القصير لملف الأرشيف |
%L | اسم قائمة الملفات. قائمة الملفات هي ملف يحتوي على أسماء الملفات التي ستتم معالجتها بواسطة أداة الأرشفة الخارجية. تكون أسماء الملفات طويلة. |
%l | قائمة ملفات تحتوي على أسماء الملفات القصيرة |
%F | اسم ملف واحد للمعالجة. سيتم تنفيذ أداة الأرشفة عدة مرات حتى تتم معالجة جميع أسماء الملفات. يجب استخدام هذا المتغير فقط إذا كانت الأداة لا تدعم قوائم الملفات في سطر الأوامر. |
%V | حجم المجلد (للأرشيفات متعددة المجلدات) |
%W | كلمة المرور |
%E<errorlevel> | أقصى مستوى خطأ مقبول للأمر. على سبيل المثال، %E2 تعني أن مستويات الخطأ 0 و 1 و 2 كلها مقبولة.يمكن تحديد هذا المتغير في أي مكان في الأمر. في حال عدم وجوده، يعتبر مستوى الخطأ 0 فقط نجاحًا. |
%O<modifier> | افتراضيًا، يقوم Double Commander بتحويل مخرجات الأداة من ترميز OEM إلى UTF-8. استخدم هذا الخيار لتجاوز الترميز. انظر معدلات الترميز الممكنة أدناه. يمكن استخدامه فقط مع عملية "القائمة". |
%R | الدليل الفرعي المستهدف داخل الأرشيف |
{} | إذا كانت بعض المتغيرات محاطة بأقواس متعرجة - فسيتم إضافتها فقط إذا كان هذا المتغير يحتوي على محتوى غير فارغ |
%S | يحدد هذا المتغير موقع معلمات سطر الأوامر الإضافية التي يمكن إضافتها في حوار حزم الملفات |
لا تقلق، سنقدم أمثلة لاحقًا لفهم أفضل.
يمكن تحديد هذه المعدلات مباشرة بعد المتغير بدون مسافات.
| معدلات المتغيرات | |
|---|---|
| حرف المعدل | المعنى |
F | تضمين الملفات فقط في قائمة الملفات (يمكن استخدامه مع المتغيرين %L و %l) |
Q | إحاطة الأسماء التي تحتوي على مسافات بعلامات اقتباس |
q | إحاطة جميع الأسماء بعلامات اقتباس |
W | استخدام الاسم فقط، بدون المسار |
P | استخدام المسار فقط، بدون الاسم |
A | استخدام ترميز النظام ANSI في ويندوز أو ترميز النظام الافتراضي في الأنظمة الشبيهة بيونكس (عادة UTF-8 في توزيعات GNU/Linux)؛ يمكن استخدامه مع المتغيرين %L و %O |
U | استخدام ترميز UTF-8؛ يمكن استخدامه مع المتغيرين %L و %O |
مرة أخرى لا تقلق، سنقدم أمثلة لاحقًا.
إذا أردنا أن يتعامل Double Commander مع الأرشيف المضغوط كما لو كان دليلاً، فنحن بحاجة للتمكن من الحصول على قائمة الملفات الموجودة في الأرشيف.
في هذه المرحلة، لا نحتاج لفك الضغط! لا، هذا مجرد سرد للمحتويات حتى يتمكن Double Commander من عرضها لنا.
في مثالنا "rar.exe"، إذا نظرنا لوثائقه، فهناك أمر "v" يسمح لنا بجعل تطبيق الكونسول "rar.exe" يخرج قائمة الملفات في الأرشيف:

لذا، وفقًا لاستخدام التطبيق، للحصول على قائمة المحتويات في الأرشيف، نحتاج لاستدعاء "rar.exe" مع الأمر "v"، متبوعًا باسم الأرشيف.
دعنا نختبر ذلك يدويًا أولاً، بمحاولة عرض محتويات الملف "E:\Temp\just.rar"

لذا ما نحتاج لفعله الآن هو تكوين "القائمة" لإخبار Double Commander بكيفية استدعاء "rar.exe" للحصول على محتويات الأرشيف المضغوط.
للقيام بذلك، سنعيد كتابة نفس الشيء الذي فعلناه للتو ولكن باستخدام المتغيرات ومعدلات المتغيرات المذكورة سابقًا.
إليك كيف يبدو الأمر:
![]()
كتبنا %P v %AQ، مستخدمين المتغيرات والمعدلات المذكورة سابقًا.
لذا فكل هذا يهدف لاستدعاء أداة الأرشفة الخارجية بالمعلمات المناسبة.
سيتم استخدام هذه الوظيفة عندما نستخدم الأمر الداخلي cm_OpenArchive.
ملاحظة حول خيار "استخدام اسم الأرشيف بدون امتداد كقائمة": هذا الخيار مخصص للأرشيفات التي يمكن أن تحتوي على ملف واحد فقط واسمه يساوي اسم الأرشيف بدون امتداد (Bzip2، XZ، إلخ). عادة لا تحتوي هذه الأنواع من الملفات المضغوطة على الاسم الأصلي للملف.
حتى الآن، ما فعلناه سيجعل الأداة تخرج قائمة الملفات الموجودة في الأرشيف.
ولكن هذا ليس كل شيء! نحن بحاجة لاستعادة بيانات المخرجات هذه وعرضها في اللوحة.
لذا نحتاج لأن يقوم Double Commander بتفسير جدول المخرجات هذا الذي سيخرجه أمر أداة الأرشفة.
كما رأينا في لقطة الشاشة السابقة، مخرجات "rar.exe" ليست مجرد بيانات خام.
هناك بعض المعلومات المزعجة التي يجب استبعادها، والاحتفاظ فقط بقائمة الملفات الفعلية.
لحسن الحظ، يمكننا تكوين سلسلة سحرية بحيث ينتظر Double Commander رؤية هذه السلسلة قبل البدء في تحليل السطور التالية.
بالإضافة لذلك، يمكننا تكوين السلسلة السحرية للتوقف عن التحليل.
بما أن هناك خطوطًا متقطعة قبل وبعد، فمن السهل ضبط هذين المعيارين باستخدام الخطوط المتقطعة:

إذا كانت الأداة تخرج البيانات الخام مباشرة بدون سطور إضافية، فما عليك سوى ترك الحقلين فارغين.
رمز الإقحام ("^") يعني أن السلسلة السحرية يجب أن تكون حتمًا في بداية السطر، دون أي شيء قبلها. بخلاف ذلك، يمكن أن يوجد النص في أي مكان في السطر.
إذا لم يكن من الممكن تحديد أنها تبدأ من بداية السطر، مثلاً إذا كانت الأداة تعرض التاريخ والوقت في بداية السطر متبوعًا بسلسلة ثابتة، فسنضبط السلسلة السحرية كالسلسلة الثابتة ولكننا لن نضيف رمز الإقحام، وهذا يوجه Double Commander للبحث عن السلسلة في أي مكان.
إذا كانت سلسلة "نهاية القائمة" قد يتم الخلط بينها وبين اسم ملف، فقد تتوقف معالجة محتويات الأرشيف قبل الأوان.
لهذا السبب، إذا أمكن، فمن الأفضل تحديد أن السلسلة يجب أن تبدأ من بداية السطر.
أيضًا، إذا كانت هناك طريقة لضبط سلسلة "نهاية القائمة" لتكون طويلة قدر الإمكان مع بقائها ثابتة، فسيكون ذلك أفضل وأكثر أمانًا لضمان عدم حدوث ارتباك في المستقبل.
الآن يعرف Double Commander أي بيانات يجب تحليلها للحصول على قائمة ملفات الأرشيف.
سيكون من السهل كتابة روتين لتحليل مخرجات "RAR" للحصول على قائمة الملفات.
لكن Double Commander لا يفعل ذلك.
بدلاً من ذلك، فإنه يوفر مرونة كبيرة عبر السماح لنا بتكوين جدول التحليل بأنفسنا!
قد يكون هذا أكثر تعقيدًا قليلاً من عدم القيام بشيء، ولكن من ناحية أخرى، فإنه يمنحنا أقصى قدر من المرونة للتمكن من استخدام أدوات أرشفة خارجية قد لا يعرفها مطورو Double Commander حتى!
لمساعدتنا في تحليل جدول المخرجات الناتج عن الأداة، سيكون لدينا تعبيرات مختلفة ممثلة بأحرف.
يوضح الجدول أدناه "الصيغة القياسية" المستخدمة لتحليل قائمة المحتويات الناتجة عن أداة الأرشفة الخارجية.
كما سنرى من المثال التالي، تعتمد "الصيغة القياسية" بشكل أساسي على استبدال أكثر مباشرة من "الصيغة المتقدمة".
إذا أمكن، سنحاول استخدام هذه الصيغة لأنها أسرع في تحليل النتائج من "الصيغة المتقدمة" التالية.
| التحليل بالصيغة القياسية | |
|---|---|
| التعبير | المعنى |
n | اسم الملف |
z | الحجم غير المضغوط |
c | وصف الملف |
p | الحجم المضغوط |
d | اليوم |
t | الشهر |
TTT | اسم الشهر من ثلاثة أحرف (Jan, Feb, Mar, ...) |
y | السنة |
h | الساعة |
H | حرف معدل الساعة (a – صباحًا، p – مساءً) |
m | الدقيقة |
s | الثانية |
a | السمات |
e | امتداد الملف |
? | تخطي رمز واحد |
* | تخطي حتى أول مسافة أو نهاية السطر |
+ | لحقل الاسم في نهاية السطر: استخدام جميع الرموز حتى نهاية السطر |
إذا كانت الأداة تستخدم عدة سطور لعرض معلومات كل ملف، فيجب تحديد العدد المقابل من السطور لتحليل المحتوى (يدعم Double Commander ما يصل لـ 50 سطرًا).
المفتاح هنا هو استخدام التعبيرات من الجدول أعلاه لكتابة سلسلة "تنسيق القائمة" التي ستكون بمثابة تكوين لـ Double Commander للتعامل مع الأداة الخارجية، ليكون قادرًا على الحصول على محتويات الأرشيف، بما في ذلك الأدلة وأسماء الملفات، وأحجام الملفات، والسمات، وتاريخ الملف، وما إلى ذلك.
الطريقة التي نخمن بها أولاً هي كتابة سطر من النص في برنامج مثل Notepad يمثل الملف الذي أنشأناه يدويًا من قبل، ثم نكتب تحته التعبيرات التي تناسبه.
إليك مثال:

كما نرى، كتبنا أحرف تعبير التحليل في الموقع المقابل تمامًا لمكان المعلومات في مخرجات الأداة الخارجية داخل الأرشيف:
نحتاج أيضًا لاستبعاد المسافات الأربعة في بداية السطر، واستبدالها بـ "????" .
بهذا التكوين، إذا اخترنا الأرشيف "just.rar" السابق في اللوحة، وضغطنا على Enter للدخول إليه كما لو كان دليلاً، سنرى أن عرض محتويات الملف يظهر أن نهجنا كان صالحًا بشكل أساسي (إذا تجاهلنا الملف الأخير...):

يوضح الجدول أدناه "الصيغة المتقدمة" المستخدمة لتحليل قائمة المحتويات الناتجة عن أداة الأرشفة الخارجية.
عناصر هذه الصيغة تستغرق وقتًا أطول قليلاً في المعالجة من تلك الموجودة في الجدول السابق.
لذا لا تستخدمها إلا إذا تعذر حل الحالات الإشكالية باستخدام الطريقة السابقة.
سيتم تقديم أمثلة على الاستخدام في القسم التالي.
| التحليل بالصيغة المتقدمة | |
|---|---|
| التعبير | المعنى |
+ | لحقل الاسم الذي ليس في نهاية السطر: استخدام جميع الرموز حتى المسافة التالية |
+ | بعد أي حقل رقمي: استخدام جميع الأرقام حتى أول رمز غير رقمي |
n+ | استخدام جميع الرموز حتى نهاية السطر كاسم للملف |
z+ | استخدام جميع الأرقام حتى أول رمز غير رقمي كحجم غير مضغوط |
p+ | استخدام جميع الأرقام حتى أول رمز غير رقمي كحجم مضغوط |
$ | تخطي جميع المسافات/التبويبات حتى الرمز التالي أو نهاية السطر |
\ | استمرار البيانات في السطر التالي (يدعم ما يصل لسطرين كحد أقصى) |
x | مسافة واحدة بالضبط؛ إذا وجد رمز مختلف في هذا الموقع، فسيتم تجاهل السطر بالكامل |
z=1024 | ضرب الحجم غير المضغوط في القيمة المعطاة (هنا: 1024) |
p=1024 | ضرب الحجم المضغوط في القيمة المعطاة (هنا: 1024) |
المثال على "الصيغة القياسية" كان تخميناً جيداً ولكنه ليس مثالياً.
هناك بعض الحالات التي لن يعمل فيها بشكل صحيح.
بالنسبة للملفات الكبيرة، يكون حجم الملف أعرض من المتوقع، لذا ستفشل محاولتنا الأولى في القائمة.
انظر لملفنا 007 Skyfall.TS.
يمكننا أن نرى أنه لا يعرض المعلومات المناسبة. دعنا نقارن:

نرى أن اسم الملف، حجم الملف، التاريخ إلخ ليست صحيحة.
دعنا نستخدم عناصر من "الصيغة المتقدمة" لحل هذه الحالة الإشكالية.
إليك كيفية جعلها تعمل، حتى لو لم تكن حقول المخرجات دائمًا بنفس العرض *تمامًا*:
![]()
هذا أكثر تعقيدًا قليلاً ولكن من السهل وصفه، وفي النهاية سنرى أن توليده ليس بهذا التعقيد.
إليك الوصف الملون لمساعدتنا في تصور تحليل كل جزء صغير:

لذا باستخدام سلسلة "تنسيق القائمة" هذه، يمكننا الاختبار مرة أخرى والحصول على نتيجة صحيحة، حتى مع الملفات الضخمة:

باستخدام المتغيرات و معدلات المتغيرات المذكورة سابقًا، هذا هو السطر لتكوين كيفية استدعاء الأداة الخارجية لـ "فك ضغط" ملف أو جميع الملفات من أرشيف مختار.
بالاستمرار في مثالنا "rar.exe"، نعلم من وثائقه أن استخدام أمر "x" يعني أننا نريد فك ضغط ملف أو مجموعة من الملفات.
مع "rar.exe"، يمكننا أيضًا تقديم قائمة بالملفات لفك ضغطها في المعلمات.
لذا سنستفيد من متغير %L الذي يوفره لنا Double Commander، والذي سينشئ ملف نصي يحتوي على كل ملف تم اختياره من اللوحة النشطة ليتم فك ضغطه، وتمرير هذا الملف الوحيد للقائمة كمعلمة.
إليك السطر الذي قمنا بتكوينه لفك الضغط مع "rar.exe":
![]()
الوصف لهذا المثال هو:
سيتم استدعاء هذا الأمر عندما نختار أرشيفًا لفك ضغط محتواه بالكامل، أو ملف واحد، إلخ.
قد لا ندرك ذلك، ولكن عندما "ندخل" للأرشيف كما لو كان دليلاً، ونضغط على F3 لعرض محتوى ملف داخل الأرشيف، فإن عملية "فك الضغط" هذه ستحدث في الخلفية. سيتم استخراج الملف المختار باستخدام هذا النمط إلى دليل النظام للملفات المؤقتة، ثم سنرى هذا الملف المؤقت باستخدام المشاهد الذي استدعيناه بـ F3.
سيتم استخدام هذه الوظيفة عندما نستخدم الأمر الداخلي cm_ExtractFiles.
باستخدام المتغيرات و معدلات المتغيرات المذكورة سابقًا، هذا هو السطر لتكوين كيفية استدعاء الأداة الخارجية لـ "حزم" ملفات أو إضافة جميع الملفات لأرشيف مختار.
بالاستمرار في مثالنا "rar.exe"، نعلم من وثائقه أن استخدام أمر "a" يعني أننا نريد إنشاء أرشيف أو إضافة ملف أو مجموعة من الملفات لأرشيف موجود.
مع "rar.exe"، يمكننا أيضًا تقديم قائمة بالملفات لإضافتها في المعلمات.
لذا سنستفيد من متغير %L الذي يوفره لنا Double Commander، والذي سينشئ ملف نصي يحتوي على كل ملف تم اختياره من اللوحة النشطة ليتم إضافته للأرشيف، وتمرير هذا الملف الوحيد للقائمة كمعلمة.
إليك السطر الذي قمنا بتكوينه لإنشاء أرشيف أو الإضافة إليه مع "rar.exe":
![]()
الوصف لهذا المثال هو:
سيتم استدعاء هذا الأمر عندما نختار ملفًا أو مجموعة من الملفات ونطلب حزمها باستخدام أداة الأرشفة الخارجية "RAR".
سيتم استخدام هذه الوظيفة عندما نستخدم الأمر الداخلي cm_PackFiles.
تدعم بعض أنواع تنسيقات الملفات المضغوطة إمكانية حذف ملف من داخل الملف المضغوط مباشرة.
إذا كانت هذه الوظيفة مدعومة، يمكننا تكوين Double Commander لتوجيهه لكيفية استدعاء الأداة الخارجية للقيام بذلك.
الحالة النموذجية لاستخدام هذا الأمر هي عندما تدخل الأرشيف، وتختار ملفًا فيه وتطلب حذفه.
إذا تم تكوين "عملية الحذف" هذه، فسيتم استخدامها لهذا الإجراء.
يرجى ملاحظة أن هذه العملية موجودة في التبويب الثاني لتكوين أداة الأرشفة الخارجية.
بالاستمرار في مثالنا "rar.exe"، إليك كيفية تكوين هذه العملية:
![]()
الوصف لهذا المثال هو:
تسمح بعض أدوات الأرشفة بالتحقق من سلامة ملف الأرشيف للتأكد من عدم وجود أخطاء فيه، لضمان عدم تلفه.
إذا كانت هذه الوظيفة مدعومة، يمكننا تكوين Double Commander لتوجيهه لكيفية استدعاء الأداة الخارجية للقيام بذلك.
بالاستمرار في مثالنا "rar.exe"، إليك كيفية تكوين هذه العملية:
![]()
الوصف لهذا المثال هو:
سيتم استخدام هذه الوظيفة عندما نستخدم الأمر الداخلي cm_TestArchive.
إذا لم تكن هناك أخطاء، فستغلق نافذة الاختبار. إذا كان هناك خطأ، فستظهر رسالة مثل هذه:

افتراضيًا، عندما نستدعي الأمر الداخلي cm_ExtractFiles لفك ضغط أرشيف، إذا كانت الملفات فيه مرتبة في هيكل دليل معين، فستقوم الأداة بإعادة إنشاء نفس الهيكل أثناء فك ضغط الملفات.
ولكن، عندما تدعم الأداة ذلك، يكون من المناسب أحيانًا فك ضغط جميع الملفات في نفس الموقع دون إعادة إنشاء هيكل الدليل.
هذا هو المكان الذي يتم فيه تكوين عملية "فك الضغط بدون مسارات".
على سبيل المثال مع "rar.exe"، سيتم كتابة الأمر للقيام بذلك بالشكل التالي:
![]()
الوصف لهذا المثال هو:
عندما نطلب فك ضغط أرشيف، سيكون هذا التأثير مرئيًا في الطالب:

يمكن لبعض أدوات الأرشفة إنشاء ملفات مضغوطة "ذاتية الاستخراج" (Self-Extracting).
هذا يعني أنه في نهاية العملية، سنحصل على ملف تنفيذي، عند تشغيله سيقوم بفك ضغط المحتويات الموجودة فيه.
هذا مفيد عندما نريد التأكد من أن الشخص الذي يحتاج لمحتويات الملف المضغوط لن يواجه مشكلة في فك الضغط: لا داعي لتثبيت أي شيء، فقط قم بتشغيل الملف وستحصل على الملفات غير المضغوطة!
عادة، يتم تكوين هذه العملية بنفس الطريقة التي يتم بها تكوين "عملية الإضافة"، ونقوم ببساطة بإضافة معلمة تشير إلى أننا نريد أن تكون النتيجة النهائية ذاتية الاستخراج.
هذا هو الحال مثلاً في مثالنا "rar.exe". إليك كيفية تكوين هذه العملية:
![]()
الوصف لهذا المثال هو:
لإنشاء ملف ذاتي الاستخراج، لاحظ أن العملية هي نفسها عند إنشاء ملف مضغوط كالمعتاد، كما هو الحال مع الأمر الداخلي cm_PackFiles، ولكن في الطالب الذي يظهر، سنقوم بتفعيل خيار "إنشاء أرشيف ذاتي الاستخراج".

يمكننا تكوين Double Commander ليتجاهل امتداد الملف، ويحاول اكتشاف الأرشيف المضغوط عبر محتواه الداخلي، ثم يستدعي أوامر القائمة وفك الحزم المناسبة الموضحة أعلاه.
هذا هو المكان الذي سنستخدم فيه الأمر الداخلي cm_OpenArchive.
مثال على هذه الوظيفة هو عندما نريد رؤية المحتوى الفعلي لملف .exe ذاتي الاستخراج دون الحاجة لتشغيله.
مثال آخر هو عرض أرشيف محفوظ بامتداد ملف مختلف، مثل ملف .docx الخاص بـ Microsoft Word، وهو في الواقع ملف ZIP مضغوط.
بشكل أساسي، يمكننا تكوين Double Commander لاكتشاف أنماط بيانات استراتيجية في مواقع محددة في الملف المختار، لتمكينه من التعرف على الأرشيف المهيأ.
سنسمي هذه الأنماط بـ "المعرفات" (IDs)، وهذا القسم مخصص لتكوينها.
لدينا ثلاثة إعدادات: المعرف (ID)، وموقع المعرف (ID position)، ونطاق البحث عن المعرف (ID search range).
سنوجه Double Commander لمكان البحث عن نمط معرف محدد للتعرف على نوع الأرشيف، ثم استخدام أوامر ومعلمات التكوين المرتبطة بنوع الأرشيف الذي تم التعرف عليه.
دعنا نبدأ بمثال بسيط. إليك لقطة لبداية أرشيف 7-Zip:

بالنظر إلى ملفات 7-Zip الأخرى، نرى أن البايتات الستة الأولى هي دائمًا التسلسل 0x37 0x7A 0xBC 0xAF 0x27 0x1C.
لذا سنستغل ذلك، ونقوم بتكوين Double Commander بحيث عندما يرى ملفًا يبدأ بهذا التسلسل، يفترض أن الملف هو أرشيف 7-Zip.
هذا ما سنفعله بالتكوين التالي:

يجب أن نكتب المعرف كأرقام سداسية عشرية مكونة من رقمين مفصولة بمسافات.
موقع المعرف (اختياري) هو موقع المعرف في الأرشيف. في حال عدم وجوده، سيتم البحث عن المعرف في بداية الأرشيف. يمكننا تحديد الموقع برمز "-" : في هذه الحالة سيتم حساب الموقع من نهاية الملف. القيمة الخاصة <SeekID> تحدد البحث عن المعرف (إذا لم يتم العثور عليه بالقيمة العددية لموقع المعرف). يتم البحث في النطاق "0 .. حجم الملف" أو "0 .. نطاق البحث عن المعرف". يمكن كتابة القيم بالنظام العشري (12345) أو السداسي عشري (0x3039). بالنسبة للقيم السالبة، استخدم الرمز 0xFFFFFFFF (-1).
نطاق البحث عن المعرف (اختياري) هو عدد البايتات للبحث عن المعرف عند تعريف <SeekID>. الافتراضي هو 1 ميجابايت.
ملاحظة: يمكن لجميع المعلمات أعلاه تحديد قيم متعددة. يمكننا استخدام الفاصلة للفصل بين هذه القيم المتعددة.
في مثالنا لأرشيف 7-Zip، المعرف وموقع المعرف (0، لأنه في بداية الملف) كافيان.
لذا عندما نستدعي الأمر الداخلي cm_OpenArchive، سيقوم Double Commander بمسح محتوى الملف، وإذا تم التعرف على نمط "0x37 0x7A 0xBC 0xAF 0x27 0x1C" عند الإزاحة 0 في الملف، فسيعامله كملف من نوع 7Z الذي قمنا بتكوينه، ثم يستخدم الأوامر والمعلمات المهيأة المتعلقة بنوع الأرشيف الذي تم التعرف عليه للقائمة وفك الضغط وما إلى ذلك.
في معظم الحالات، ليس من الضروري فحص الملف بالتمثيل السداسي عشري: يمكن العثور على تواقيع الملفات في مواصفات التنسيق أو استخدام القوائم أو قواعد البيانات أو الأدوات المساعدة الموجودة (على سبيل المثال، صفحة ويكيبيديا هذه أو قاعدة بيانات MIME الخاصة بـ FreeDesktop.org).
الخطوات المذكورة أعلاه كافية عادةً لاستخدام أداة أرشفة خارجية، ولكن تحسباً لذلك لدينا خياران إضافيان:
إظهار مخرجات الكونسول – إذا تم تمكينه، سيقوم Double Commander بكتابة (سطر بسطر) نتائج عمل أداة الأرشفة الخارجية والمحلل في نافذة السجل.
وضع التصحيح – مشابه للخيار السابق، ولكن نتائج العمل ستخرج أيضًا في رسائل تصحيح Double Commander (انظر وصف --debug-log). في هذه الحالة، لن يتم حذف الملف المؤقت الذي يحتوي على قائمة الملفات (%L في مثالنا) تلقائيًا بعد اكتمال العملية.
إذا تم تعطيل عرض نافذة السجل في الإعدادات، فسيتم إظهارها قسراً وإخفاؤها عند إغلاق Double Commander. لن يتم حفظ الرسائل في ملف السجل.
تحتوي هذه القائمة على عدة وظائف إضافية:
تكوين تلقائي – سيتحقق Double Commander من الملفات التنفيذية لجميع أدوات الأرشفة: إذا تم العثور على الملف، سيقوم البرنامج تلقائيًا بإضافة مساره الكامل وتمكين أداة الأرشفة، وإلا سيتم تعطيلها.
تجاهل التغييرات – إعادة ضبط جميع تغييرات الإعدادات غير المحفوظة.
فرز أدوات الأرشفة – فرز قائمة أدوات الأرشفة أبجديًا.
تعطيل الكل و تمكين الكل – تمكين أو تعطيل جميع أدوات الأرشفة.
تصدير... و استيراد... – يسمح لنا بتصدير واستيراد إعدادات أدوات الأرشفة (كلها أو جزء منها).
افتراضيًا، تُفتح الملفات ذات الامتدادات المحددة في إعدادات مكونات WCX الإضافية وأدوات الأرشفة الخارجية كمجلدات. لفتحها في تطبيق مرتبط، يمكننا استخدام عنصر "فتح" في قائمة السياق للملف (ولكن في هذه الحالة يتم استخدام ارتباطات ملفات النظام فقط) أو يمكننا إضافة الإجراء المطلوب لقائمة "العمليات".
لاستخدام مفتاح Enter أو النقر المزدوج، يجب علينا تغيير الإعدادات.
يمكننا ببساطة حذف الامتداد من الإعدادات، ولكن في هذه الحالة ستصبح الأوامر cm_OpenArchive و cm_ExtractFiles غير متاحة. طريقة أخرى:
إذا كنت تستخدم مكون WCX إضافي، يمكنك فتح إعدادات المكون، واختيار الامتداد وتمكين خيار "إظهار كملف عادي (إخفاء أيقونة المحزم)".
إذا كنت تستخدم أداة أرشفة خارجية لفك حزم الملفات، يمكنك ملء الحقول التي تستخدم المعرفات (ID) دون تحديد امتداد الملف.
لهذه الملفات، سيستخدم Double Commander الأيقونة المرتبطة بدلاً من أيقونة الأرشيف العامة.