Double Commander kann Archive wie einfache Ordner behandeln.
Wenn wir beispielsweise eine ZIP-Datei in einem Panel haben, können wir sie einfach auswählen und Enter drücken. Das Panel zeigt dann den Inhalt der ZIP-Datei an, genau als hätten wir in ein Verzeichnis gewechselt.
Double Commander ist sehr flexibel und kann externe Programme über seine eigene Schnittstelle zur Bearbeitung von Archiven nutzen. Es gibt zwei verschiedene Prinzipien zur Handhabung von Archiven:
Wenn wir versuchen, ein Archiv zu öffnen, prüft Double Commander zuerst die Liste der verfügbaren Packer-Plugins.
Einmal innerhalb eines Archivs, können wir Basisfunktionen wie das Betrachten von Dateien, das Kopieren in ein anderes Panel und einige eingeschränkte Funktionen ausführen.
Das folgende Bild zeigt ein Beispiel: Wir haben das Archiv "help.rar" ausgewählt und Enter gedrückt, genau wie bei einem Ordner:

Beim Aufruf der Befehle Betrachten (F3) oder Bearbeiten (F4) entpackt Double Commander die Datei unter dem Cursor in das Systemverzeichnis für temporäre Dateien und öffnet sie. Nach dem Schließen des Betrachters wird die temporäre Datei gelöscht. Wenn eine im Editor geöffnete Datei geändert wurde, bietet Double Commander das erneute Packen an (sofern das Archivformat und das Packer-Plugin oder der externe Archivierer dies unterstützen).
Bei einem Doppelklick oder Drücken von Enter zeigt Double Commander das Eigenschaftenfenster der gepackten Datei an:

Die Zeile Packer zeigt den Namen des verwendeten Packer-Plugins oder des externen Archivierers an.
Schaltflächen:
Schließen – Schließt das Eigenschaftenfenster.
Entpacken und ausführen – Double Commander entpackt die Datei in ein temporäres Verzeichnis und führt die Standardaktion gemäß der internen oder System-Dateizuordnung aus.
Alle entpacken und ausführen – Ähnlich wie oben, entpackt aber zuerst den gesamten Inhalt des Archivs.
Double Commander ermöglicht es, Dateien in verknüpften Programmen automatisch zu öffnen, indem die Einstellung <AutoExtractOpenMask> verwendet wird.
Beim Beenden löscht Double Commander alle temporären Dateien.
Wir können Double Commander so konfigurieren, dass externe "Packer-Plugins" zur Bearbeitung von Archiven verwendet werden.
Ab der Installation enthält Double Commander bereits einige dieser .WCX-Plugins.
Zusätzlich gibt es viele weitere Plugins im Internet. Sie können nach .WCX-Plugins suchen.
Beachten Sie auch, dass Plugins, die für Total Commander erstellt wurden, im Grunde auch in Double Commander funktionieren.
Um diese zu installieren, zu aktivieren oder zu konfigurieren, besuchen Sie Konfiguration > Optionen... > Plugins > Plugins WCX:

Bitte beachten Sie, dass einige Formate nur lesend unterstützt werden, d. h. man kann nur den Inhalt ansehen, entpacken und testen.
Manchmal gibt es kein Plugin für einen bestimmten Archivtyp.
Oder man möchte aus bestimmten Gründen einen externen Packer verwenden, um Funktionen zu nutzen, die das Plugin nicht bietet.
Double Commander nutzt zur Einbindung externer Archivierer ein Prinzip, das dem MultiArc-Plugin von Total Commander ähnelt.
Kurz gesagt: Die Verwendung eines externen Archivierers ist eine Methode, ein bekanntes Archivierungsprogramm zu starten, aber gesteuert durch Double Commander. Man übergibt dem Programm verschiedene Parameter, sodass es sich anfühlt, als wäre es in die Anwendung integriert.
Der Rest dieser Seite befasst sich mit der Frage, wie man Double Commander konfiguriert, um einen externen Archivierer für die gewünschten Aktionen zu starten.
Angenommen, wir möchten "rar.exe" für .rar-Archive verwenden.
Wie man sich denken kann, besteht die Basis darin, den Aufruf des externen Archivierers zu konfigurieren, um...
Dies geschieht in den Einstellungen unter Archivierer, wie im Bild unten gezeigt:

Alle Einstellungen werden in der Datei multiarc.ini gespeichert.
In den folgenden Abschnitten sehen wir uns die Möglichkeiten an, die Double Commander zur korrekten Integration externer Packer bietet.
Wir werden hier nicht jedes Feld beschreiben, da dies beim Ausprobieren intuitiv ist. Stattdessen beschreiben wir ein detailliertes Integrationsbeispiel.
Wir zeigen die Integration des Archivierers "rar.exe". Ein vollständiges Schritt-für-Schritt-Beispiel ist am besten geeignet.
Wir klicken unten auf "Hinzufügen", geben dem Archivierer einen sinnvollen Namen und können ihn dann konfigurieren.

Dann geben wir eine Beschreibung ein, legen den genauen Speicherort der Programmdatei fest und geben die zugehörigen Dateierweiterungen an (ohne Punkt).
Bei mehreren Erweiterungen trennen wir diese durch ein Komma ohne Leerzeichen.

Hinweis: Double Commander unterstützt doppelte Erweiterungen (z. B. "tar.gz", "tar.xz" usw.). Diese müssen am Anfang der Liste stehen (d. h. "tar.gz" vor "gz").
Wie erwähnt, müssen wir festlegen, wie das Archivierungsprogramm aufgerufen werden soll.
Hierzu stellt Double Commander spezielle Variablen zur Verfügung, die in den Befehlszeilen verwendet werden können.
Die folgende Tabelle zeigt die verfügbaren Variablen und deren Bedeutung:
| Befehlsdefinitionen | |
|---|---|
| Variable | Bedeutung |
%P | Langer Name des Archivierers (wie im Feld "Archivierer" angegeben) |
%p | Kurzer Name des Archivierers |
%A | Langer Name des Archivs |
%a | Kurzer Name des Archivs |
%L | Dateiliste. Eine temporäre Datei, die die Namen der zu bearbeitenden Dateien enthält. Lange Dateinamen. |
%l | Dateiliste mit kurzen Dateinamen |
%F | Name einer einzelnen zu bearbeitenden Datei. Der Archivierer wird mehrfach aufgerufen, bis alle Dateien verarbeitet sind. Nur verwenden, wenn der Archivierer keine Dateilisten unterstützt. |
%V | Volumengröße (für Archive über mehrere Datenträger) |
%W | Passwort |
%E<errorlevel> | Maximal akzeptabler Fehlercode (Errorlevel). Beispiel: %E2 bedeutet, dass 0, 1 und 2 als Erfolg gelten. Ohne diese Variable wird nur 0 als Erfolg gewertet. |
%O<modifier> | Standardmäßig konvertiert DC die Ausgabe des Archivierers von OEM nach UTF-8. Hiermit kann die Kodierung überschrieben werden (nur für die Aktion "Liste"). |
%R | Ziel-Unterverzeichnis im Archiv |
{} | Variablen in geschweiften Klammern werden nur hinzugefügt, wenn die Variable einen Wert enthält. |
%S | Platzhalter für zusätzliche Kommandozeilenparameter aus dem Packen-Dialog. |
Die Beispiele weiter unten machen die Verwendung deutlicher.
Diese Modifikatoren können direkt ohne Leerzeichen hinter eine Variable gesetzt werden.
| Variablen-Modifikatoren | |
|---|---|
| Modifikator | Bedeutung |
F | Nur Dateien in die Dateiliste aufnehmen (für %L und %l). |
Q | Namen mit Leerzeichen in Anführungszeichen setzen. |
q | Alle Namen in Anführungszeichen setzen. |
W | Nur Namen verwenden, ohne Pfad. |
P | Nur den Pfad verwenden, ohne Dateiname. |
A | System-ANSI-Kodierung (Windows) oder Standard-Kodierung (Unix) verwenden; für %L und %O. |
U | UTF-8 Kodierung verwenden; für %L und %O. |
Damit Double Commander ein Archiv wie einen Ordner behandeln kann, muss es die Liste der darin enthaltenen Dateien abrufen können.
Hierbei wird noch nichts entpackt! Es geht nur darum, den Inhalt aufzulisten, damit DC ihn anzeigen kann.
In unserem "rar.exe" Beispiel wissen wir aus der Dokumentation, dass der Befehl "v" (view) die Dateiliste ausgibt:

Um die Inhaltsliste zu erhalten, müssen wir also "rar.exe" mit dem Befehl "v" und dem Archivnamen aufrufen.
Testen wir das manuell in der Konsole für die Datei "E:\Temp\just.rar":

Nun konfigurieren wir die Aktion "Liste" in Double Commander, um genau diesen Aufruf zu automatisieren.
Wir verwenden dazu die oben beschriebenen Variablen:
![]()
Wir schreiben %P v %AQ.
Diese Funktion wird beim internen Befehl cm_OpenArchive genutzt.
Hinweis zur Option "Archivname ohne Erweiterung als Liste": Dies ist für Formate wie Bzip2 oder XZ gedacht, die nur eine Datei enthalten können und deren Name dem Archivnamen ohne Endung entspricht.
Bisher haben wir nur dafür gesorgt, dass der Archivierer die Liste ausgibt.
Das reicht aber nicht aus. Wir müssen diese Ausgabe nun einlesen und im Panel anzeigen lassen.
Double Commander muss also die vom Programm ausgegebene Tabelle interpretieren können.
Wie im Screenshot oben zu sehen, gibt "rar.exe" nicht nur die reinen Dateidaten aus.
Es gibt Kopf- und Fußzeilen, die wir ignorieren müssen, um nur die eigentliche Liste zu parsen.
Wir können eine Zeichenfolge (Magic String) festlegen, auf die DC wartet, bevor es mit dem Parsen beginnt, und ebenso eine Zeichenfolge zum Beenden des Parsens.
Da in der RAR-Ausgabe Trennlinien aus Strichen vorhanden sind, nutzen wir diese:

Wenn das Programm sofort die reinen Daten ausgibt, lassen wir diese Felder leer.
Das Zeichen "^" bedeutet, dass die Zeichenfolge exakt am Zeilenanfang stehen muss. Ohne dieses Zeichen kann sie irgendwo in der Zeile vorkommen.
Nun weiß Double Commander, welche Zeilen analysiert werden sollen.
Anstatt eine feste Routine für RAR-Ausgaben zu verwenden, bietet DC die maximale Flexibilität, indem wir das Format der Zeilen selbst beschreiben können.
Das ermöglicht es, auch Archivierungsprogramme einzubinden, die den Entwicklern von DC gar nicht bekannt sind.
Hierzu verwenden wir Platzhalter-Buchstaben für die verschiedenen Felder der Ausgabezeile.
Die folgende Tabelle zeigt die "Standard-Syntax" für das Parsen der Inhaltsliste.
Diese Syntax basiert auf einer direkten Zeichen-zu-Zeichen-Ersetzung und ist schneller als die "erweiterte Syntax".
| Standard-Syntax zum Parsen | |
|---|---|
| Zeichen | Bedeutung |
n | Dateiname |
z | Ungepackte Größe |
c | Dateikommentar |
p | Gepackte Größe |
d | Tag |
t | Monat |
TTT | Dreibuchstabiger Monatsname (Jan, Feb, ...) |
y | Jahr |
h | Stunde |
H | Stundenmodifikator (a – AM, p – PM) |
m | Minute |
s | Sekunde |
a | Attribute |
e | Dateierweiterung |
? | Ein Zeichen überspringen |
* | Bis zum ersten Leerzeichen oder Zeilenende überspringen |
+ | Für das Namensfeld am Zeilenende: Alle restlichen Zeichen verwenden. |
Wenn ein Archivierer mehrere Zeilen pro Datei nutzt, können entsprechend viele Zeilen zum Parsen angegeben werden (bis zu 50).
Wir erstellen nun einen "Listenformat"-String, der Double Commander sagt, wo in der Zeile Name, Größe, Datum usw. zu finden sind.
Am besten schreibt man sich die Ausgabezeile des Programms in einen Editor und platziert die Platzhalter direkt darunter.
Beispiel:

Wir setzen die Buchstaben exakt an die Stellen, an denen die Informationen stehen:
Die 4 Leerzeichen am Anfang werden mit "????" übersprungen.
Das Ergebnis im Panel zeigt, dass dies im Prinzip funktioniert (bis auf die letzte Datei im Beispiel...):

Die "erweiterte Syntax" wird genutzt, wenn die Spaltenbreiten in der Ausgabe variieren (z. B. bei sehr großen Dateien).
Diese Platzhalter benötigen etwas mehr Rechenzeit und sollten nur verwendet werden, wenn die Standard-Syntax versagt.
| Erweiterte Syntax zum Parsen | |
|---|---|
| Zeichen | Bedeutung |
+ | Für Namen (nicht am Zeilenende): Alle Zeichen bis zum nächsten Leerzeichen verwenden. |
+ | Nach Zahlenfeldern: Alle Ziffern bis zum ersten Nicht-Ziffer-Zeichen verwenden. |
n+ | Alle Zeichen bis zum Zeilenende als Dateiname verwenden. |
z+ | Alle Ziffern als ungepackte Größe verwenden. |
p+ | Alle Ziffern als gepackte Größe verwenden. |
$ | Alle Leerzeichen/Tabs bis zum nächsten Zeichen oder Zeilenende überspringen. |
\ | Daten setzen sich in der nächsten Zeile fort (max. 2 Zeilen). |
x | Exakt ein Leerzeichen; falls dort ein anderes Zeichen steht, wird die Zeile ignoriert. |
z=1024 | Größe mit dem angegebenen Wert multiplizieren (hier: 1024). |
Im obigen Beispiel gab es Probleme mit der Datei 007 Skyfall.TS, da ihre Größe die Spalte sprengte.
Die Informationen für Name, Größe usw. waren daher falsch eingelesen:

Mit der "erweiterten Syntax" lösen wir dieses Problem, indem wir flexiblere Platzhalter nutzen:
![]()
Hier die farbliche Visualisierung, wie die Zeile nun zerlegt wird:

Damit wird das Ergebnis auch bei sehr großen Dateien korrekt:

Hier legen wir fest, wie der Archivierer aufgerufen wird, um Dateien aus einem Archiv zu entpacken.
Für "rar.exe" nutzen wir den Befehl "x" (extract with full paths).
Da wir oft mehrere Dateien gleichzeitig entpacken wollen, nutzen wir die Variable %L. DC erstellt dann eine temporäre Textdatei mit allen ausgewählten Dateinamen und übergibt diese an RAR.
Befehlszeile für RAR:
![]()
Erklärung:
Diese Aktion wird auch im Hintergrund genutzt, wenn man eine Datei im Archiv mit F3 betrachtet.
Genutzt durch den internen Befehl cm_ExtractFiles.
Hier wird konfiguriert, wie Dateien zu einem Archiv hinzugefügt werden (Befehl "a" bei RAR).
Befehlszeile für RAR:
![]()
Erklärung:
Genutzt durch den internen Befehl cm_PackFiles.
Ermöglicht das Löschen von Dateien innerhalb eines Archivs (falls vom Format unterstützt).
Für RAR nutzen wir den Befehl "d" (delete):
![]()
Erklärung:
Überprüft die Integrität eines Archivs (Befehl "t" bei RAR).
![]()
Genutzt durch den internen Befehl cm_TestArchive.
Sind keine Fehler vorhanden, schließt sich das Fenster automatisch. Andernfalls erscheint eine Fehlermeldung:

Einige Archivierer erlauben es, alle Dateien in einen einzigen Zielordner zu entpacken, ohne die im Archiv gespeicherte Ordnerstruktur wiederherzustellen.
Bei RAR wird hierfür der Befehl "e" statt "x" verwendet:
![]()
Diese Option ist im Entpacken-Dialog sichtbar:

Erstellt eine ausführbare Datei (.exe), die ihren Inhalt beim Start selbst entpackt.
Bei RAR fügen wir den Parameter "-sfx" zum Hinzufügen-Befehl hinzu:
![]()
Die Option wird im Packen-Dialog aktiviert:

Man kann Double Commander anweisen, Archive nicht nur anhand ihrer Dateiendung zu erkennen, sondern auch anhand ihres Inhalts (Signatur oder "Magic Number").
Das ist nützlich, um z. B. .exe-Dateien (selbstentpackende Archive) oder .docx-Dateien (eigentlich ZIP-Archive) wie Ordner zu öffnen.
Hierfür definieren wir eine ID (Byte-Folge) und deren Position in der Datei.
Beispiel für ein 7-Zip-Archiv:

Die ersten sechs Bytes lauten immer 0x37 0x7A 0xBC 0xAF 0x27 0x1C. Wir konfigurieren DC so, dass es Dateien mit dieser Signatur als 7-Zip erkennt:

Die ID wird als Hexadezimal-Werte (getrennt durch Leerzeichen) eingegeben.
ID-Position: Der Versatz (Offset) vom Dateianfang (oder vom Ende, wenn ein "-" vorangestellt ist).
Informationen zu Signaturen findet man oft online, z. B. in der Wikipedia-Liste der Dateisignaturen.
Falls die Integration nicht auf Anhieb funktioniert, helfen folgende Optionen:
Konsole-Ausgabe anzeigen – Zeigt die Ausgaben des Archivierers und des Parsers in einem Log-Fenster an.
Debug-Modus – Gibt detaillierte Informationen in die Debug-Logs aus (siehe --debug-log). In diesem Modus werden temporäre Dateilisten (%L) nicht automatisch gelöscht.
Dieses Menü bietet zusätzliche Verwaltungsfunktionen:
Automatisch konfigurieren – DC sucht nach bekannten Archivierern im System und trägt deren Pfade automatisch ein.
Änderungen verwerfen – Setzt alle ungespeicherten Änderungen zurück.
Archivierer sortieren – Sortiert die Liste alphabetisch.
Alle deaktivieren / Alle aktivieren.
Exportieren... / Importieren... – Erlaubt das Sichern oder Übertragen der Archivierer-Einstellungen.
Standardmäßig werden Dateien mit bekannten Archiv-Endungen als Ordner geöffnet. Möchte man sie stattdessen im System-Standardprogramm öffnen (z. B. WinRAR selbst), nutzt man das Kontextmenü ("Öffnen") oder fügt eine entsprechende Aktion in das "Aktion"-Menü ein.
Um Archive immer per Doppelklick als Datei zu öffnen (und nicht als Ordner):
Bei WCX-Plugins: In den Plugin-Einstellungen die Option "Als normale Datei anzeigen (Packer-Icon verbergen)" aktivieren.
Bei externen Archivierern: Nur die ID-Erkennung nutzen und keine Dateierweiterungen angeben.
In diesen Fällen zeigt DC auch das normale Programmsymbol anstelle des Archivsymbols an.