Double Commander

2.10. Gestion des archives

Contenu

1. Traitement des fichiers compressés
2. Utilisation des greffons
3. Utilisation d'archiveurs externes
4. Configuration de l'intégration des archiveurs externes
4.1. Ajout d'un nouvel archiveur externe
4.2. Variables pour l'interface des archiveurs externes
4.3. Modificateurs de variables pour les archiveurs externes
4.4. Configuration de l'opération "Liste"
4.5. Récupération de la liste des contenus
4.5.1. Délimitation de la zone à analyser
4.5.2. Analyse syntaxique (Parsing) de la liste des contenus
4.5.3. Syntaxe standard de parsing
4.5.4. Exemple de syntaxe standard
4.5.5. Syntaxe avancée de parsing
4.5.6. Exemple de syntaxe avancée
4.6. Configuration de l'opération "Extraire"
4.7. Configuration de l'opération "Ajouter"
4.8. Configuration de l'opération "Supprimer"
4.9. Configuration de l'opération "Tester"
4.10. Configuration de l'opération "Extraire sans chemin"
4.11. Configuration de l'opération "Créer une archive auto-extractible"
4.12. Configuration des "ID"
4.13. Débogage
4.14. Menu du bouton "Autres"
5. Ouvrir des fichiers d'archives dans l'application associée

1. Traitement des fichiers compressés

Double Commander peut traiter les fichiers compressés comme de simples dossiers.

Par exemple, si nous avons un fichier ZIP dans un panneau, nous pouvons simplement le sélectionner, appuyer sur Entrée, et le panneau affichera le contenu du ZIP, tout comme si nous avions basculé dans un répertoire.

Double Commander est très flexible et peut utiliser des programmes externes via sa propre interface pour traiter les fichiers compressés. Il utilise deux principes différents pour cela :

Lorsque nous tentons d'ouvrir un fichier d'archive, Double Commander vérifie d'abord la liste des greffons d'archivage (packer plugins) disponibles.

Une fois à l'intérieur d'un fichier compressé, nous pouvons effectuer certaines fonctions de base comme visualiser un fichier, le copier vers l'autre panneau, ainsi que quelques fonctions limitées.

L'image ci-dessous montre un exemple où nous avons sélectionné le fichier compressé "help.rar" puis appuyé sur Entrée comme s'il s'agissait d'un répertoire :

Visualisation d'une archive

Après avoir appelé la commande Visualiser (F3) ou Éditer (F4), Double Commander extraira le fichier sous le curseur vers le répertoire système des fichiers temporaires et l'ouvrira. Une fois le visionneur fermé, le fichier temporaire sera supprimé. Si le fichier ouvert dans l'éditeur est modifié, Double Commander proposera de le ré-archiver (si le format de compression et le greffon ou l'outil externe supportent cette fonction).

En utilisant le double-clic ou la touche Entrée, Double Commander affichera la fenêtre des propriétés du fichier archivé :

Propriétés d'un fichier archivé

La ligne Archiveur affiche le nom du greffon d'archivage utilisé ou le nom de l'archiveur externe.

Boutons :

Double Commander permet de configurer l'ouverture automatique des fichiers dans l'application associée en utilisant <AutoExtractOpenMask>.

À la fermeture, Double Commander supprime tous les fichiers temporaires.

2. Utilisation des greffons

Nous pouvons configurer Double Commander pour utiliser des fichiers externes "packer plugin" afin de gérer les archives compressées.

Dès l'installation, Double Commander inclut déjà certains de ces fichiers greffons .WCX.

De plus, il en existe d'autres sur le Web. Vous pouvez rechercher des greffons .WCX.

Gardez également à l'esprit que les greffons conçus pour Total Commander peuvent également, pour l'essentiel, être utilisés dans Double Commander.


Pour les installer, les activer ou les configurer, nous devons aller dans Configuration > Options... > Greffons > Greffons WCX :

Configuration > Greffons WCX

Veuillez noter que certains formats sont en lecture seule, ce qui signifie que vous pouvez seulement visualiser le contenu, extraire et tester.

3. Utilisation d'archiveurs externes

Parfois, il n'existe pas de greffon pour le type de fichier d'archive que nous voulons utiliser.

Ou pour n'importe quelle raison, nous pouvons parfois souhaiter explicitement utiliser un archiveur externe pour bénéficier de caractéristiques et fonctions non présentes dans un greffon.

Double Commander utilise un principe de fonctionnement similaire au greffon MultiArc de Total Commander pour gérer les archiveurs externes.

En résumé, l'utilisation d'archiveurs externes peut être résumée ainsi : c'est un moyen de lancer l'archiveur que nous connaissons bien, mais piloté par Double Commander en fournissant divers paramètres à l'exécutable de l'archiveur pour qu'il se comporte comme s'il était intégré à l'application.

Le reste de cette page traitera de cette question : comment configurer Double Commander pour lancer l'archiveur externe afin d'effectuer les actions dont nous avons besoin.

Supposons que nous voulions utiliser "rar.exe" pour traiter les archives .rar.

Comme nous pouvons le deviner, l'essentiel est que nous devions configurer comment appeler l'archiveur externe pour être capable de...

Cela se fera via les options de configuration de l'archiveur, comme montré dans l'image ci-dessous :

Configuration > Archiveurs

Tous les paramètres sont stockés dans le fichier multiarc.ini.

Dans les sections suivantes, nous verrons les diverses possibilités offertes par Double Commander pour intégrer correctement l'utilisation d'archiveurs externes.

4. Configuration de l'intégration des archiveurs externes

Nous ne décrirons pas chaque champ ici car c'est assez intuitif une fois lancé, mais nous prendrons le temps de décrire en détail un exemple d'intégration.

Nous décrirons l'intégration de l'archiveur externe "rar.exe". Rien ne vaut un exemple complet étape par étape.

4.1. Ajout d'un nouvel archiveur externe

Nous cliquons sur le bouton "Ajouter" en bas, donnons un nom significatif à l'archiveur et nous pourrons ensuite le configurer.

Ajout d'un nouvel archiveur externe


Nous devrons ensuite spécifier une description significative pour l'archiveur, l'emplacement exact de l'exécutable de l'archiveur, puis les extensions de fichiers (sans le point) associées à cet archiveur.

Si nous avons plusieurs extensions, séparez-les simplement par une virgule sans espace.

Ajout d'un nouvel archiveur externe

Remarque : Double Commander supporte les doubles extensions (par exemple, "tar.gz", "tar.xz", etc.), elles doivent être placées au début de la liste des extensions (c'est-à-dire "tar.gz" avant "gz").

4.2. Variables pour l'interface des archiveurs externes

Comme mentionné précédemment, nous devrons configurer comment appeler l'exécutable de l'archiveur externe pour effectuer les actions souhaitées.

Pour nous aider à faire cela, Double Commander met à notre disposition de nombreuses variables dédiées pour remplir les chaînes de configuration des diverses opérations que nous pouvons configurer.

Le tableau ci-dessous présente les variables utilisables et ce par quoi elles seront remplacées :

Définition des commandes
Expression de variableSignification
%P
Nom long de l'archiveur (tel qu'il apparaît dans la clé "Archiver")
%p
Nom court de l'archiveur (tel qu'il apparaît dans la clé "Archiver")
%A
Nom long du fichier d'archive
%a
Nom court du fichier d'archive
%L
Nom de la liste de fichiers.
Une liste de fichiers est un fichier contenant les noms des fichiers à traiter par l'archiveur externe.
Les noms de fichiers sont longs.
%l
Fichier de liste contenant les noms de fichiers courts
%F
Nom d'un seul fichier à traiter.
L'archiveur sera exécuté plusieurs fois jusqu'à ce que tous les noms de fichiers soient traités.
Cette variable ne doit être utilisée que si l'archiveur cible ne supporte pas les listes de fichiers en ligne de commande.
%V
Taille de volume (pour les archives multi-volumes)
%W
Mot de passe
%E<errorlevel>
Niveau d'erreur (errorlevel) maximal acceptable pour la commande.
Par exemple, %E2 signifie que les niveaux d'erreur 0, 1 et 2 sont tous acceptables.
Cette variable peut être spécifiée n'importe où dans la commande.
Si absente, seul le niveau d'erreur 0 est considéré comme un succès.
%O<modificateur>
Par défaut, Double Commander convertit la sortie de l'archiveur de l'encodage OEM vers l'UTF-8.
Utilisez cette option pour écraser l'encodage. Voir les modificateurs d'encodage possibles ci-dessous.
Ne peut être utilisé qu'avec l'opération "Liste".
%R
Sous-répertoire cible dans l'archive
{}
Si certaines variables sont entourées d'accolades, elles ne seront ajoutées que si la variable contient un contenu non vide.
%S
Cette variable spécifie l'emplacement des paramètres de ligne de commande additionnels qui peuvent être ajoutés dans le dialogue de compression de fichiers.

Ne vous inquiétez pas, nous donnerons des exemples plus tard pour mieux comprendre.

4.3. Modificateurs de variables pour les archiveurs externes

Ces modificateurs peuvent être spécifiés immédiatement après la variable, sans espace.

Modificateurs de variables
Lettre du modificateurSignification
F
Inclure seulement les fichiers dans la liste de fichiers (peut être utilisé avec les variables %L et %l)
Q
Entourer de guillemets les noms contenant des espaces
q
Entourer tous les noms de guillemets
W
Utiliser seulement les noms, sans le chemin
P
Utiliser seulement le chemin, sans le nom
A
Utiliser l'encodage système ANSI sous Windows ou l'encodage système par défaut sous Unix (généralement UTF-8 dans les distributions GNU/Linux) ; peut être utilisé avec les variables %L et %O
U
Utiliser l'encodage UTF-8 ; peut être utilisé avec les variables %L et %O

Encore une fois, ne vous inquiétez pas, nous donnerons des exemples plus tard.

4.4. Configuration de l'opération "Liste"

Si nous voulons que Double Commander traite un fichier d'archive compressé comme un répertoire, nous devons être capable d'obtenir la liste des fichiers contenus dans l'archive.

À ce stade, nous n'avons pas besoin de décompresser ! Non, il s'agit juste de lister ce qu'il contient pour que Double Commander nous en affiche le contenu.

Dans notre exemple "rar.exe", si nous regardons sa documentation, il existe une commande "v" qui nous permet de demander à l'application console "rar.exe" d'afficher la liste des fichiers de l'archive :

rar.exe : options de lancement


Donc, suivant l'usage de l'application, pour obtenir la liste des contenus d'une archive, nous devons appeler "rar.exe" avec la commande "v", suivie du nom de l'archive.

Testons d'abord manuellement en essayant d'afficher le contenu du fichier "E:\Temp\just.rar" :

rar.exe : obtention de la liste des fichiers dans le terminal


Ce que nous devons faire maintenant est donc de configurer "Liste" pour dire à Double Commander comment appeler "rar.exe" pour obtenir le contenu de l'archive compressée.

Pour faire cela, nous allons réécrire la même chose que ce que nous venons de faire, mais en utilisant les variables et les modificateurs de variables mentionnés précédemment.

Voici à quoi cela ressemble :

Opération : Liste

Nous avons écrit %P v %AQ, en utilisant les variables et modificateurs mentionnés plus haut.

Tout cela sert donc à appeler l'archiveur externe avec les paramètres appropriés.

Cette fonction sera utilisée lorsque nous utilisons la commande interne cm_OpenArchive.

Une petite remarque sur l'option "Utiliser le nom d'archive sans extension comme liste" : cette option est destinée aux archives qui ne peuvent contenir qu'un seul fichier et dont le nom de fichier est égal au nom de l'archive sans extension (Bzip2, XZ, etc.). Ce genre de fichiers compressés ne contient généralement pas le nom du fichier original.

4.5. Récupération de la liste des contenus

Ce que nous avons fait jusqu'à présent permettra à l'archiveur de sortir la liste des fichiers à l'intérieur du fichier d'archive.

Mais ce n'est pas tout ! Nous devons récupérer ces données de sortie et les afficher dans le panneau.

Nous devons donc faire en sorte que Double Commander interprète ce tableau de sortie que la commande de l'archiveur va générer.

4.5.1. Délimitation de la zone à analyser

Comme nous l'avons vu dans la capture d'écran précédente, la sortie du contenu de "rar.exe" n'est pas seulement faite de données brutes.

Il y a des informations gênantes à éliminer pour ne garder que la liste réelle des fichiers.

Heureusement, nous pouvons configurer une chaîne magique pour que Double Commander attende de voir cette chaîne avant de commencer l'analyse de la ligne suivante.

De même, nous pouvons configurer une chaîne magique pour arrêter l'analyse.

Comme il y a des lignes de pointillés avant et après, il est facile de régler ces deux paramètres avec des pointillés :

Opération : Début/Fin de liste

Si l'archiveur externe sort immédiatement des données brutes sans lignes additionnelles, laissez simplement les deux champs vides.

Le symbole caret ("^") signifie que la chaîne magique doit être absolument au début de la ligne, sans rien devant elle. Sinon, le texte peut se situer n'importe où dans la ligne.

S'il n'est pas possible de déterminer qu'elle commence à la ligne, par exemple si l'archiveur externe affiche la date et l'heure au début de la ligne puis une chaîne constante, nous réglerons la chaîne magique sur la chaîne constante mais nous n'ajouterons pas le caret, ce qui indique à Double Commander que la chaîne peut être recherchée n'importe où.

Si la chaîne "Fin de liste" peut être confondue avec un nom de fichier, cela pourrait arrêter le traitement du contenu de l'archive prématurément.

C'est pourquoi, si possible, il est préférable de spécifier que la chaîne doit commencer à la ligne.

De plus, s'il y a un moyen de régler la chaîne "Fin de liste" aussi longue que possible tout en restant constante, c'est encore mieux et plus sûr pour être certain qu'aucune confusion n'arrivera dans le futur.

4.5.2. Analyse syntaxique (Parsing) de la liste des contenus

Maintenant, Double Commander sait quelles données analyser pour obtenir la liste des fichiers du fichier d'archive.

Il aurait été facile d'écrire une routine pour analyser la sortie de "RAR" afin d'obtenir la liste des fichiers.

Mais Double Commander ne fait pas cela.

À la place, il offre une grande flexibilité en nous proposant de configurer nous-mêmes le tableau d'analyse !

C'est peut-être un peu plus complexe que de ne rien avoir à faire, mais d'un autre côté, cela nous donne une flexibilité maximale pour pouvoir utiliser des archiveurs externes dont les développeurs de Double Commander ne connaissent même pas l'existence !

Pour nous aider à analyser le tableau de sortie généré par l'archiveur, nous aurons diverses expressions représentées par des lettres.

4.5.3. Syntaxe standard de parsing

Le tableau ci-dessous donne la "syntaxe standard" utilisée pour analyser la liste des contenus générée par l'archiveur externe.

Comme nous le verrons dans l'exemple suivant, la "syntaxe standard" est essentiellement basée sur des remplacements plus directs que la "syntaxe avancée".

Si possible, nous essaierons d'utiliser cette syntaxe car les résultats de l'analyse sont plus rapides qu'avec la "syntaxe avancée" qui suit.

Analyse syntaxique standard
ExpressionSignification
n
Nom du fichier
z
Taille non compressée
c
Description du fichier
p
Taille compressée
d
Jour
t
Mois
TTT
Nom du mois en trois lettres (Jan, Feb, Mar, ...)
y
Année
h
Heure
H
Lettre de modificateur d'heure (a – heure AM, p – heure PM)
m
Minutes
s
Secondes
a
Attributs
e
Extension du fichier
?
Sauter un symbole
*
Sauter jusqu'au premier espace ou jusqu'à la fin de la ligne
+
Pour le champ de nom en fin de ligne : utiliser tous les caractères jusqu'à la fin de la ligne

Si l'archiveur utilise plusieurs lignes pour afficher les informations de chaque fichier, nous devons spécifier le nombre de lignes correspondant pour analyser le contenu (Double Commander supporte jusqu'à 50 lignes).

4.5.4. Exemple de syntaxe standard

La clé ici est d'utiliser les expressions du tableau ci-dessus pour écrire une chaîne de "Format de liste" qui configurera Double Commander pour traiter l'archiveur externe afin d'être capable de récupérer le contenu de l'archive, incluant les noms de répertoires et de fichiers, les tailles de fichiers, les attributs, les dates de fichiers, etc.

La méthode que nous devinerons d'abord consiste à écrire une ligne de texte dans un programme comme le Bloc-notes représentant le fichier que nous avons créé manuellement précédemment, puis d'écrire en dessous les expressions qui correspondent.

Voici un exemple :

Format de liste : exemple de syntaxe standard

Comme nous pouvons le voir, nous avons écrit les lettres d'expression d'analyse qui correspondent exactement aux positions de ce que l'archiveur externe a sorti dans l'archive :

Nous avons également dû exclure les 4 espaces au début de la ligne en les remplaçant par "????".

Configuré ainsi, si nous sélectionnons notre archive "just.rar" précédemment vue dans un panneau et appuyons sur Entrée pour y entrer comme s'il s'agissait d'un répertoire, nous verrons que les contenus des fichiers montrent que notre approche est fondamentalement valable (si nous ignorons le dernier fichier...) :

Visualisation d'archive : exemple de syntaxe standard

4.5.5. Syntaxe avancée de parsing

Le tableau ci-dessous donne la "syntaxe avancée" utilisée pour analyser la liste des contenus générée par l'archiveur externe.

Les éléments de cette syntaxe prennent un peu plus de temps à être traités que ceux du tableau précédent.

Utilisez-les donc seulement si vous ne parvenez pas à résoudre un cas problématique avec la méthode précédente.

Un exemple d'utilisation sera donné dans la section suivante.

Analyse syntaxique avancée
ExpressionSignification
+
Pour un champ de nom qui n'est pas en fin de ligne : utiliser tous les caractères jusqu'au prochain espace
+
Après n'importe quel champ numérique : utiliser tous les chiffres jusqu'au premier caractère non numérique
n+
Utiliser tous les caractères jusqu'à la fin de la ligne comme nom de fichier
z+
Utiliser tous les chiffres jusqu'au premier caractère non numérique comme taille non compressée
p+
Utiliser tous les chiffres jusqu'au premier caractère non numérique comme taille compressée
$
Sauter tous les espaces/tabulations jusqu'au caractère suivant ou jusqu'à la fin de la ligne
\
Les données continuent sur la ligne suivante (supporte jusqu'à 2 lignes)
x
Exactement 1 espace ; si un caractère différent se trouve à cette position, ignorer toute la ligne
z=1024
La taille non compressée est multipliée par la valeur donnée (ici : 1024)
p=1024
La taille compressée est multipliée par la valeur donnée (ici : 1024)

4.5.6. Exemple de syntaxe avancée

L'exemple de la "syntaxe standard" était une bonne intuition, mais il n'est pas parfait.

Il y a des cas où il ne fonctionnera pas correctement.

Pour les très gros fichiers, la taille du fichier est plus large que prévu, et donc notre premier essai de liste échouera.

Regardez notre fichier 007 Skyfall.TS.

Nous pouvons voir qu'il n'affiche pas les informations appropriées. Comparons :

Visualisation d'archive : informations appropriées

Nous voyons donc que les informations pour le nom de fichier, la taille du fichier, la date, etc. sont incorrectes.

Utilisons les éléments de la "syntaxe avancée" pour résoudre ce cas problématique.

Voici comment faire pour que cela fonctionne, même si les champs de sortie n'ont pas toujours *exactement* la même largeur :

Format de liste

C'est un peu plus complexe mais facile à décrire, et finalement, nous verrons que ce n'est pas si compliqué à générer.

Voici une description en couleur pour nous aider à visualiser chaque petit morceau de l'analyse :

Format de liste : exemple de syntaxe avancée

Ainsi, avec cette chaîne de "Format de liste", nous pouvons tester à nouveau et obtenir un résultat correct, même pour les très gros fichiers :

Visualisation d'archive : exemple de syntaxe avancée

4.6. Configuration de l'opération "Extraire"

En utilisant les variables et les modificateurs de variables mentionnés précédemment, voici la ligne pour configurer comment appeler l'archiveur externe pour "extraire" des fichiers ou tous les fichiers de l'archive sélectionnée.

Continuant notre exemple "rar.exe", nous savons par sa documentation que l'utilisation de la commande "e" signifie que nous voulons extraire un fichier ou un groupe de fichiers.

Avec "rar.exe", nous pouvons également fournir une liste de fichiers à extraire en paramètres.

Nous utiliserons donc la variable %L que Double Commander nous fournit, laquelle créera un fichier texte contenant le nom de chaque fichier sélectionné dans le panneau actif à extraire, et passera ce fichier de liste unique comme paramètre.

Voici la ligne que nous avons configurée pour l'extraction avec "rar.exe" :

Opération : Extraire

La description de cet exemple est :

Cette commande sera appelée lorsque nous sélectionnons une archive pour en extraire tout le contenu, un seul fichier, etc.

Nous ne nous en rendons peut-être pas compte, mais lorsque nous "entrons" dans une archive comme s'il s'agissait d'un répertoire et que nous appuyons sur F3 pour visualiser le contenu d'un fichier dans l'archive, cette opération "extraire" sera effectuée en arrière-plan. Le fichier sélectionné sera extrait vers le répertoire système des fichiers temporaires en utilisant ce mode, et nous visualiserons ensuite ce fichier temporaire avec le visionneur appelé par F3.

Cette fonction sera utilisée lorsque nous utilisons la commande interne cm_ExtractFiles.

4.7. Configuration de l'opération "Ajouter"

En utilisant les variables et les modificateurs de variables mentionnés précédemment, voici la ligne pour configurer comment appeler l'archiveur externe pour "archiver" des fichiers ou ajouter tous les fichiers à l'archive sélectionnée.

Continuant notre exemple "rar.exe", nous savons par sa documentation que l'utilisation de la commande "a" signifie que nous voulons créer une archive ou ajouter un fichier ou un groupe de fichiers à une archive existante.

Avec "rar.exe", nous pouvons également fournir une liste de fichiers à ajouter en paramètres.

Nous utiliserons donc la variable %L que Double Commander nous fournit, laquelle créera un fichier texte contenant le nom de chaque fichier sélectionné dans le panneau actif à ajouter à l'archive, et passera ce fichier de liste unique comme paramètre.

Voici la ligne que nous avons configurée pour la création ou l'ajout d'archive avec "rar.exe" :

Opération : Ajouter

La description de cet exemple est :

Cette commande sera appelée lorsque nous sélectionnons un fichier ou un groupe de fichiers et demandons de les archiver en utilisant l'archiveur externe "RAR".

Cette fonction sera utilisée lorsque nous utilisons la commande interne cm_PackFiles.

4.8. Configuration de l'opération "Supprimer"

Certains types de formats de fichiers compressés supportent la possibilité de supprimer un fichier directement à l'intérieur du fichier compressé.

Si cette caractéristique est supportée, nous pouvons configurer Double Commander pour lui indiquer comment appeler l'archiveur externe pour effectuer cette opération.

Le cas typique d'utilisation de cette commande est lorsque nous entrons dans l'archive, y sélectionnons un fichier et cliquons pour le supprimer.

Si cette "Opération de suppression" est configurée, elle sera utilisée pour cette action.

Veuillez noter que cette opération se trouve dans le second onglet de la configuration de l'archiveur externe.

Continuant notre exemple "rar.exe", voici comment configurer cette action :

Opération : Supprimer

La description de cet exemple est :

4.9. Configuration de l'opération "Tester"

Certains archiveurs permettent de vérifier l'intégrité de l'archive pour s'assurer qu'il n'y a pas d'erreur à l'intérieur, pour s'assurer qu'elle n'est pas corrompue.

Si cette caractéristique est supportée, nous pouvons configurer Double Commander pour lui indiquer comment appeler l'archiveur externe pour effectuer cette opération.

Continuant notre exemple "rar.exe", voici comment configurer cette action :

Opération : Tester

La description de cet exemple est :

Cette fonction sera utilisée lorsque nous utilisons la commande interne cm_TestArchive.

S'il n'y a pas d'erreur, la fenêtre de test se fermera. S'il y a une erreur, un message comme celui-ci apparaîtra :

Tester une archive : message d'erreur

4.10. Configuration de l'opération "Extraire sans chemin"

Par défaut, lorsque nous appelons la commande interne cm_ExtractFiles pour extraire une archive, si les fichiers à l'intérieur sont organisés selon une structure de répertoires spécifique, l'archiveur recréera la même structure lors de l'extraction des fichiers.

Cependant, quand l'archiveur le supporte, il est parfois approprié d'extraire tous les fichiers au même endroit sans recréer la structure des répertoires.

C'est là qu'intervient la configuration de l'opération "Extraire sans chemin".

Par exemple avec "rar.exe", la commande pour effectuer cette action s'écrirait sous cette forme :

Opération : Extraire sans chemin

La description de cet exemple est :

Cet effet sera visible dans la demande de confirmation lorsque nous demandons l'extraction de l'archive :

Extraire les chemins stockés

4.11. Configuration de l'opération "Créer une archive auto-extractible"

Certains archiveurs peuvent créer des fichiers compressés "auto-extractibles".

Cela signifie qu'à la fin du processus, nous obtiendrons un fichier exécutable qui, lorsqu'il sera exécuté, décompressera le contenu qu'il contient.

C'est utile quand nous voulons être sûrs que la personne qui aura besoin du contenu compressé n'aura aucun problème pour le décompresser : rien à installer, juste exécuter le fichier et on obtient les fichiers décompressés !

Généralement, cette opération est configurée de la même manière que "l'Opération d'ajout", nous ajoutons juste un paramètre signifiant que nous voulons que le résultat final soit auto-extractible.

C'est le cas par exemple pour notre exemple "rar.exe". Voici comment configurer cette action :

Opération : Créer une archive auto-extractible

La description de cet exemple est :

Pour créer un fichier auto-extractible, notez que le processus est le même que d'habitude pour créer un fichier compressé, comme en utilisant la commande interne cm_PackFiles, mais dans la demande de confirmation qui apparaît, nous cocherons l'option "Créer une archive auto-extractible".

Créer une archive auto-extractible

4.12. Configuration des "ID"

On peut configurer Double Commander pour qu'il ignore l'extension d'un fichier mais tente de détecter un fichier d'archive compressé par son contenu interne, puis appelle les commandes appropriées de liste et de décompression décrites ci-dessus.

C'est ici que nous utiliserons la commande interne cm_OpenArchive.

Un exemple de cette fonctionnalité est quand nous voulons voir le contenu réel d'un fichier .exe auto-extractible sans avoir à le lancer.

Un autre exemple est de voir une archive sauvegardée sous une extension de fichier différente, comme le fichier .docx de Microsoft Word qui est en réalité un fichier ZIP compressé.

Fondamentalement, nous pouvons configurer Double Commander pour détecter des motifs de données stratégiques à des emplacements spécifiques à l'intérieur du fichier sélectionné afin d'identifier l'archive configurée.

Nous appellerons ces motifs des "ID", et cette section traite de leur configuration.

Nous avons trois réglages : ID, Position de l'ID et Plage de recherche de l'ID.

Nous allons indiquer à Double Commander où chercher un motif d'ID spécifique pour identifier le type d'archive, puis utiliser les commandes configurées relatives au type d'archive identifié.

Commençons par un exemple simple. Voici un instantané du début d'une archive 7-Zip :

Exemple de fichier 7-Zip

En regardant d'autres fichiers 7-Zip, nous voyons que les six premiers octets sont toujours la séquence 0x37 0x7A 0xBC 0xAF 0x27 0x1C.

Nous allons donc tirer profit de cela et configurer Double Commander pour qu'il suppose que le fichier est une archive 7-Zip lorsqu'il voit un fichier commençant par cette séquence.

C'est ce que nous avons fait avec la configuration suivante :

ID 7-Zip

Nous devons écrire l'ID sous forme de nombres hexadécimaux à 2 chiffres séparés par des espaces.

La Position de l'ID (optionnelle) est l'emplacement de l'ID dans l'archive. Si absente, l'ID sera cherché au début de l'archive. On peut définir la position avec le symbole "-" : dans ce cas, l'emplacement sera calculé à partir de la fin du fichier. La valeur spéciale <SeekID> détermine la recherche de l'ID (s'il n'est pas trouvé à la valeur numérique de la Position de l'ID). La recherche se fait dans la plage "0 .. taille du fichier" ou "0 .. Plage de recherche de l'ID". Les valeurs peuvent être écrites en décimal (12345) ou en hexadécimal (0x3039). Pour les valeurs négatives, utilisez le symbole 0xFFFFFFFF (-1).

La Plage de recherche de l'ID (optionnelle) est le nombre d'octets de recherche de l'ID quand <SeekID> est défini. Par défaut, elle est de 1 Mo.

Remarque : Tous les paramètres ci-dessus peuvent définir plusieurs valeurs. On peut utiliser une virgule pour séparer ces valeurs multiples.

Dans notre exemple d'archive 7-Zip, l'ID et la Position de l'ID (0, car au début du fichier) suffisent.

Ainsi, lorsque nous appellerons la commande interne cm_OpenArchive, Double Commander scannera le contenu du fichier et si le motif "0x37 0x7A 0xBC 0xAF 0x27 0x1C" est identifié à l'offset 0 du fichier, il le traitera comme un fichier de type 7Z que nous avons configuré, puis utilisera les commandes et paramètres configurés relatifs au type d'archive identifié pour la liste, l'extraction, etc.

Dans la plupart des cas, il n'est pas nécessaire de vérifier le fichier en représentation hexadécimale : les signatures de fichiers peuvent être trouvées dans les spécifications des formats ou en utilisant des listes, bases de données ou utilitaires existants (par exemple, cette page Wikipédia ou la base de données MIME de FreeDesktop.org).

4.13. Débogage

Les étapes ci-dessus sont généralement suffisantes pour utiliser un archiveur externe, mais au cas où, nous avons encore quelques options :

Si l'affichage de la fenêtre du journal est désactivé dans les réglages, elle sera affichée de force et masquée à la fermeture de Double Commander. Les messages ne sont pas sauvegardés dans le fichier journal.

4.14. Menu du bouton "Autres"

Ce menu contient plusieurs fonctions additionnelles :

5. Ouvrir des fichiers d'archives dans l'application associée

Par défaut, les fichiers dont les extensions sont spécifiées dans les réglages des greffons WCX et des archiveurs externes s'ouvrent comme des dossiers. Pour les ouvrir dans une application associée, nous pouvons utiliser l'élément "Ouvrir" du menu contextuel du fichier (mais dans ce cas, seules les associations de fichiers du système sont utilisées) ou nous pouvons ajouter l'action souhaitée au menu "Actions".

Pour utiliser la touche Entrée ou le double-clic, nous devons changer les réglages.

Nous pourrions simplement supprimer les extensions des réglages, mais dans ce cas les commandes cm_OpenArchive et cm_ExtractFiles deviendraient indisponibles. Une autre façon :

Pour de tels fichiers, Double Commander utilisera les icônes associées au lieu des icônes d'archives génériques.


HTML 4.0 Transitional valide CSS valide !