Double Commander

2.10. Gestione degli archivi

Contenuto

1. Gestione dei file compressi
2. Utilizzo dei plugin
3. Utilizzo di gestori di archivi esterni
4. Configurazione dell'integrazione di gestori esterni
4.1. Aggiunta di un nuovo gestore di archivi esterno
4.2. Variabili per l'interfaccia con i gestori esterni
4.3. Modificatori di variabili per i gestori esterni
4.4. Configurazione dell'operazione "Elenco"
4.5. Recupero dell'elenco dei contenuti
4.5.1. Delimitazione dell'area da analizzare
4.5.2. Analisi dell'elenco dei contenuti
4.5.3. Sintassi standard per l'analisi
4.5.4. Esempio di sintassi standard
4.5.5. Sintassi avanzata per l'analisi
4.5.6. Esempio di sintassi avanzata
4.6. Configurazione dell'operazione "Estrai"
4.7. Configurazione dell'operazione "Aggiungi"
4.8. Configurazione dell'operazione "Elimina"
4.9. Configurazione dell'operazione "Test"
4.10. Configurazione dell'operazione "Estrai senza percorsi"
4.11. Configurazione dell'operazione "Crea archivio autoestraente"
4.12. Configurazione degli "ID"
4.13. Debug
4.14. Menu del pulsante "Altro"
5. Apertura di file di archivio nelle applicazioni associate

1. Gestione dei file compressi

Double Commander è in grado di gestire i file compressi esattamente come se fossero delle normali cartelle.

Ad esempio, se in un pannello è presente un file ZIP, possiamo semplicemente selezionarlo, premere Invio e il pannello mostrerà il contenuto dello ZIP come se fossimo entrati in una cartella.

Double Commander è estremamente flessibile e può servirsi di programmi esterni tramite la propria interfaccia per gestire i file compressi. Utilizza due diverse logiche per operare su di essi:

Quando proviamo a visualizzare il contenuto di un archivio, Double Commander controlla prima l'elenco dei plugin WCX (packer) disponibili.

Una volta all'interno di un archivio compresso, possiamo eseguire alcune operazioni di base come visualizzare i file, copiarli nell'altro pannello o altre azioni limitate.

L'immagine seguente mostra un esempio in cui abbiamo selezionato l'archivio "help.rar" e premuto Invio, proprio come se fosse una cartella:

Visualizzazione dell'archivio

Quando viene richiamato il comando di visualizzazione (F3) o di modifica (F4), Double Commander estrae il file selezionato nella cartella temporanea di sistema e lo apre. Alla chiusura del visualizzatore, il file temporaneo viene eliminato. Qualora il file modificato nell'editor venga salvato con modifiche, Double Commander proporrà di aggiornare l'archivio (se il formato del file e il plugin o lo strumento esterno supportano tale funzionalità).

Facendo doppio clic o premendo Invio su un file archiviato, Double Commander mostrerà la finestra delle proprietà del file compresso:

Proprietà del file compresso

La riga Packer mostra il nome del plugin WCX o dello strumento esterno utilizzato.

Pulsanti:

Double Commander consente di impostare l'apertura automatica di determinati file nelle applicazioni associate tramite il parametro <AutoExtractOpenMask>.

Alla chiusura, Double Commander eliminerà tutti i file temporanei creati.

2. Utilizzo dei plugin

Possiamo configurare Double Commander per utilizzare plugin esterni WCX ("packer plugin") per gestire gli archivi compressi.

Double Commander include già all'installazione alcuni di questi plugin .WCX.

Inoltre, è possibile reperire ulteriori plugin su Internet cercando file con estensione .WCX.

Si tenga presente che i plugin realizzati per Total Commander sono generalmente compatibili anche con Double Commander.


Per installarli, abilitarli o configurarli, andiamo in Configurazione > Opzioni... > Plugin > Plugin WCX:

Configurazione > Plugin WCX

Si noti che alcuni formati sono di sola lettura, il che significa che è consentito solo listerne il contenuto, estrarlo e testarlo.

3. Utilizzo di gestori di archivi esterni

In alcuni casi, non è disponibile alcun plugin per un determinato tipo di archivio.

In altri casi, potremmo voler utilizzare espressamente un'applicazione esterna per beneficiare di caratteristiche o funzioni non presenti nei plugin.

Double Commander gestisce gli archivi tramite programmi esterni seguendo una logica analoga a quella del plugin MultiArc per Total Commander.

In breve, l'uso di strumenti esterni può essere riassunto come segue: si tratta di un metodo per avviare il nostro software di archiviazione preferito facendolo pilotare da Double Commander, fornendo al relativo eseguibile parametri specifici affinché si comporti como se fosse integrato nell'applicazione.

Il resto di questa pagina tratterà questo argomento: come configurare Double Commander per richiamare gestori di archivi esterni per compiere le operazioni necessarie.

Ipotizziamo di voler utilizzare "rar.exe" per gestire gli archivi .rar.

Come è facile intuire, l'aspetto fondamentale consiste nel configurare la modalità con cui richiamare lo strumento esterno per essere in grado di...

Questa configurazione viene effettuata andando nella pagina Opzioni delle impostazioni, nella sezione Gestori di archivi, come illustrato di seguito:

Configurazione > Gestori di archivi

Tutte le impostazioni vengono salvate nel file multiarc.ini.

Nelle sezioni che seguono, vedremo le varie possibilità offerte da Double Commander per integrare correttamente l'uso di gestori esterni.

4. Configurazione dell'integrazione di gestori esterni

Non descriveremo qui ogni singolo campo, poiché l'interfaccia risulterà alquanto intuitiva una volta avviata, ma dedicheremo dello spazio per illustrare in dettaglio un esempio pratico di integrazione.

Descriveremo l'integrazione del programma esterno "rar.exe". Non c'è nulla di meglio di un esempio completo passo dopo passo.

4.1. Aggiunta di un nuovo gestore di archivi esterno

Facciamo clic sul pulsante "Aggiungi" in basso, assegniamo un nome significativo al nostro gestore e procediamo con la configurazione.

Aggiunta di un nuovo gestore di archivi esterno


Dovremo quindi inserire una descrizione chiara per lo strumento, specificare il percorso esatto del suo file eseguibile e le estensioni di file da associare a tale gestore (senza il punto iniziale).

Se sono presenti più estensioni, separiamole con una semplice virgola, senza inserire spazi.

Aggiunta di un nuovo gestore di archivi esterno

Nota: Double Commander supporta le doppie estensioni (ad esempio, "tar.gz", "tar.xz", ecc.), che devono essere collocate all'inizio dell'elenco delle estensioni (ossia "tar.gz" prima di "gz").

4.2. Variabili per l'interfaccia con i gestori esterni

Come accennato in precedenza, dobbiamo configurare il modo in cui richiamare l'eseguibile dello strumento esterno per compiere l'operazione desiderata.

A questo scopo, Double Commander mette a disposizione diverse variabili specifiche da inserire nelle stringhe di comando per le varie operazioni configurabili.

La tabella seguente mostra le variabili disponibili e i relativi valori di sostituzione:

Definizione dei comandi
VariabileSignificato
%P
Nome lungo del gestore archivi (come definito nel campo "Archiver")
%p
Nome breve del gestore archivi (come definito nel campo "Archiver")
%A
Nome lungo dell'archivio
%a
Nome breve dell'archivio
%L
Nome dell'elenco dei file.
Un file di elenco è un file di testo che contiene i nomi dei file che lo strumento esterno deve elaborare.
I nomi dei file sono in formato lungo.
%l
File contenente l'elenco dei file in formato breve
%F
Nome del singolo file da elaborare.
Il gestore esterno verrà eseguito ripetutamente fino a completare l'elaborazione di tutti i file selezionati.
Questa variabile va utilizzata solo se lo strumento di destinazione non supporta l'uso di elenchi di file da riga di comando.
%V
Dimensione dei volumi (per archivi multi-volume)
%W
Password
%E<errorlevel>
Livello di errore massimo accettabile per il comando (errorlevel).
Ad esempio, %E2 indica che i codici di errore 0, 1 e 2 sono tutti accettabili.
Questa variabile può essere posizionata in qualsiasi punto del comando.
Se omessa, solo il codice di errore 0 sarà considerato un successo.
%O<modifier>
Per impostazione predefinita, Double Commander converte l'output del gestore esterno dalla codifica OEM a UTF-8.
Utilizzare questa opzione per forzare una codifica specifica. Si vedano di seguito i modificatori di codifica disponibili.
Utilizzabile solo con l'operazione "Elenco".
%R
Sotto-cartella di destinazione all'interno dell'archivio
{}
Se alcune variabili sono racchiuse tra parentesi graffe {}, verranno aggiunte solo se contengono testo non vuoto.
%S
Questa variabile definisce il punto in cui inserire i parametri aggiuntivi opzionali inseriti nella finestra di dialogo per la compressione dei file.

Nessuna paura, vedremo a breve degli esempi pratici per comprenderne l'uso.

4.3. Modificatori di variabili per i gestori esterni

Questi modificatori possono essere inseriti subito dopo la variabile, senza spazi.

Modificatori di variabili
ModificatoreSignificato
F
Includi solo file nell'elenco (utilizzabile con le variabili %L e %l)
Q
Racchiude tra virgolette i nomi contenenti spazi
q
Racchiude tra virgolette tutti i nomi
W
Usa solo il nome del file, escludendo il percorso
P
Usa solo il percorso, escludendo il nome del file
A
Usa la codifica ANSI di sistema in Windows o quella predefinita nei sistemi Unix-like (generalmente UTF-8 nelle distribuzioni GNU/Linux); utilizzabile con le variabili %L e %O
U
Usa la codifica UTF-8; utilizzabile con le variabili %L e %O

Anche in questo caso, non c'è da preoccuparsi: a breve verranno forniti esempi pratici.

4.4. Configurazione dell'operazione "Elenco"

Se vogliamo che Double Commander tratti gli archivi compressi come se fossero cartelle, dobbiamo essere in grado di recuperare l'elenco dei file contenuti al loro interno.

In questa fase non è necessaria alcuna decompressione: si tratta semplicemente di listerne i contenuti affinché Double Commander possa mostrarceli.

Nel nostro esempio con "rar.exe", consultando la relativa documentazione notiamo che il comando "v" consente di richiedere all'applicazione console l'output dell'elenco dei file:

rar.exe: opzioni di avvio


Pertanto, in conformità con la sintassi del programma, per ottenere l'elenco dei contenuti dell'archivio dobbiamo richiamare "rar.exe" con il comando "v" seguito dal nome del file di archivio.

Proviamo prima a effettuare un test manuale per visualizzare i contenuti del file "E:\Temp\just.rar":

rar.exe: elenco file ottenuto nel terminale


Ciò che dobbiamo fare ora è configurare l'operazione "Elenco" per indicare a Double Commander come richiamare "rar.exe" per ottenere l'elenco dei file compressi.

A questo scopo, inseriremo gli stessi argomenti visti poc'anzi, avvalendoci però delle variabili e dei modificatori descritti in precedenza.

Ecco come si presenterà:

Operazione: Elenco

Abbiamo inserito %P v %AQ utilizzando le variabili e i modificatori descritti.

In questo modo il gestore esterno verrà richiamato fornendogli gli argomenti corretti.

Questa funzionalità verrà invocata quando si utilizza il comando interno cm_OpenArchive.

Nota sull'opzione "Usa nome archivio senza estensione come elenco": questa opzione è utile per quegli archivi che contengono un solo file il cui nome corrisponde a quello dell'archivio privato dell'estensione (come Bzip2, XZ, ecc.). In genere questi archivi non contengono al loro interno metadati con il nome del file originale.

4.5. Recupero dell'elenco dei contenuti

Finora, le operazioni configurate consentiranno al gestore esterno di listerne i file in output.

Tuttavia questo non basta: dobbiamo raccogliere tali dati e mostrarli nel pannello dei file.

Dobbiamo quindi configurare Double Commander affinché interpreti la tabella prodotta dal comando del gestore esterno.

4.5.1. Delimitazione dell'area da analizzare

Come visibile nella schermata precedente, l'output di "rar.exe" non contiene esclusivamente l'elenco dei file.

Vi sono diverse righe superflue che dobbiamo ignorare per concentrarci solo sul reale elenco di file.

Fortunatamente, possiamo definire una stringa di riconoscimento che indichi a Double Commander da quale riga iniziare l'analisi dei file.

Inoltre, possiamo configurare una stringa per indicare quando interrompere l'analisi.

Poiché prima e dopo i file sono presenti righe composte da trattini, risulta semplice configurare questi parametri avvalendoci di tali caratteri:

Operazione: Inizio/Fine dell'elenco

Qualora lo strumento esterno fornisca direttamente l'elenco pulito senza righe aggiuntive, sarà sufficiente lasciare vuoti entrambi i campi.

Il carattere accento circonflesso ("^") indica che la stringa deve trovarsi tassativamente all'inizio della riga, senza caratteri precedenti. In caso contrario, la stringa potrà essere ricercata in qualsiasi punto della riga.

Se non è possibile garantire che la stringa inizi a inizio riga (ad esempio, se lo strumento mostra la data e l'ora prima di una stringa costante), inseriremo la stringa costante senza l'accento circonflesso: questo indicherà a Double Commander di cercarla in qualsiasi posizione all'interno della riga.

Se la stringa di "Fine dell'elenco" rischia di essere confusa con un nome di file, l'analisi dell'archivio potrebbe interrompersi prematuramente.

Per questo motivo, se possibile, è preferibile configurare la stringa richiedendo che inizi a inizio riga.

Inoltre, se si ha modo di definire una stringa costante per la fine dell'elenco che sia il più lunga possibile, ciò aumenterà la sicurezza di non incorrere in falsi positivi.

4.5.2. Analisi dell'elenco dei contenuti

Ora Double Commander sa quali righe analizzare per raccogliere l'elenco dei file.

Sarebbe semplice scrivere una routine fissa per analizzare l'output di "RAR".

Tuttavia, Double Commander adotta un approccio differente.

Esso ci offre un'estrema flessibilità lasciando a noi il compito di configurare lo schema di analisi!

Sebbene possa apparire leggermente più complesso, questo approccio garantisce la massima flessibilità, consentendoci di integrare perfino gestori di archivi sconosciuti agli stessi sviluppatori di Double Commander!

Per definire lo schema di analisi della tabella generata dallo strumento, ci serviremo di diversi simboli letterali.

4.5.3. Sintassi standard per l'analisi

La tabella seguente illustra la "sintassi standard" per l'analisi della tabella fornita in output dal gestore esterno.

Come vedremo nell'esempio successivo, la "sintassi standard" si basa su un sistema di posizionamento dei simboli più diretto rispetto alla "sintassi avanzata".

Laddove possibile, è preferibile utilizzare questa sintassi poiché l'analisi risulta sensibilmente più veloce rispetto all'uso della sintassi avanzata.

Sintassi standard per l'analisi
SimboloSignificato
n
Nome del file
z
Dimensione non compressa
c
Descrizione del file
p
Dimensione compressa
d
Giorno
t
Mese
TTT
Nome del mese in formato tre lettere (Jan, Feb, Mar, ...)
y
Anno
h
Ora
H
Modificatore dell'ora (a – mattino/AM, p – pomeriggio/PM)
m
Minuto
s
Secondo
a
Attributi
e
Estensione del file
?
Ignora un carattere
*
Ignora fino al primo spazio o alla fine della riga
+
Per il campo del nome posto a fine riga: acquisisce tutti i caratteri fino a fine riga

Se lo strumento esterno visualizza le informazioni di ciascun file su più righe, dovremo impostare un numero equivalente di righe di analisi (Double Commander supporta fino a un massimo di 50 righe).

4.5.4. Esempio di sintassi standard

Il fulcro consiste nell'utilizzare i simboli della tabella precedente per scrivere una stringa nel campo Formato dell'elenco: essa indicherà a Double Commander come ricostruire nome del file, percorso, dimensione, attributi, data e ora.

Un ottimo metodo per procedere consiste nel copiare una riga dell'output reale in un editor di testo e scrivere, subito sotto di essa, i simboli corrispondenti in perfetto allineamento.

Ecco un esempio:

Formato dell'elenco: esempio con sintassi standard

Come possiamo notare, abbiamo allineato i simboli di analisi con le informazioni fornite in output dallo strumento esterno:

Abbiamo inoltre ignorato i 4 spazi vuoti all'inizio della riga inserendo quattro caratteri "?".

Configurando Double Commander in questo modo, se proviamo a premere Invio sull'archivio "just.rar" come se fosse una cartella, noteremo che l'analisi ha funzionato correttamente (ad eccezione dell'ultimo file...):

Visualizzazione dell'archivio: esempio con sintassi standard

4.5.5. Sintassi avanzata per l'analisi

La tabella seguente illustra la "sintassi avanzata" utilizzabile per l'analisi della tabella fornita in output dallo strumento esterno.

I simboli di questa sintassi richiedono tempi di elaborazione leggermente superiori rispetto a quelli della sintassi standard.

Pertanto, si consiglia di utilizzarli esclusivamente qualora la sintassi standard non consenta di gestire casi complessi.

La sezione successiva ne illustrerà un esempio pratico d'uso.

Sintassi avanzata per l'analisi
SimboloSignificato
+
Per il campo del nome non posto a fine riga: acquisisce i caratteri fino al primo spazio vuoto
+
Dopo un qualsiasi campo numerico: acquisisce tutte le cifre numeriche fino al primo carattere non numerico
n+
Acquisisce tutti i caratteri fino a fine riga come nome del file
z+
Acquisisce tutte le cifre fino al primo carattere non numerico come dimensione non compressa
p+
Acquisisce tutte le cifre fino al primo carattere non numerico come dimensione compressa
$
Ignora tutti gli spazi vuoti o tabulazioni fino al carattere successivo o alla fine della riga
\
Indica che i dati del file proseguono nella riga successiva (supporto massimo 2 righe)
x
Esattamente uno spazio; se in tale posizione è presente un carattere diverso, l'intera riga verrà ignorata
z=1024
Moltiplica la dimensione non compressa per il valore indicato (in questo caso: 1024)
p=1024
Moltiplica la dimensione compressa per il valore indicato (in questo caso: 1024)

4.5.6. Esempio di sintassi avanzata

L'esempio basato sulla "sintassi standard" era un ottimo punto di partenza, ma non è perfetto.

Esistono situazioni in cui non è in grado di operare correttamente.

Nel caso di file molto grandi, il valore della dimensione occupa più spazio di quello previsto nel nostro allineamento: in questo scenario, il primo formato di elenco fallirà.

Prendiamo ad esempio il file 007 Skyfall.TS.

Notiamo che le informazioni non vengono visualizzate correttamente. Effettuiamo un confronto:

Visualizzazione dell'archivio: informazioni corrette

Vediamo che il nome del file, la dimensione e la data non sono corretti.

Serviamoci dei simboli della "sintassi avanzata" per risolvere questa problematica.

Ecco la stringa da inserire per far funzionare l'analisi anche quando la larghezza dei campi varia leggermente:

Formato dell'elenco

Può apparire complessa, ma una volta analizzata nei dettagli risulterà logica e non troppo difficile da ricostruire.

Di seguito viene proposta una scomposizione a colori per illustrare visivamente l'analisi di ciascun elemento:

Formato dell'elenco: esempio con sintassi avanzata

Utilizzando questa stringa nel campo Formato dell'elenco, provando a ripetere il test otterremo informazioni del tutto corrette, anche per i file di grandi dimensioni:

Visualizzazione dell'archivio: esempio con sintassi avanzata

4.6. Configurazione dell'operazione "Estrai"

Facendo uso delle variabili e dei modificatori descritti in precedenza, configureremo ora il comando per "estrarre" i file selezionati o l'intero contenuto di un archivio.

Continuando con l'esempio di "rar.exe", sappiamo dalla documentazione che il comando "x" indica l'estrazione con il ripristino del percorso originale.

Con "rar.exe" è possibile fornire un elenco di file da estrarre come argomento.

Sfrutteremo pertanto la variabile %L fornita da Double Commander, che si occuperà di creare un file di testo temporaneo contenente tutti i file selezionati nel pannello da estrarre, passando tale elenco come parametro.

Ecco la configurazione del comando di estrazione per "rar.exe":

Operazione: Estrai

Ecco la descrizione dei parametri:

Questo comando verrà richiamato quando l'utente richiede di estrarre l'intero archivio o file specifici.

Forse non ci si fa caso, ma quando "entriamo" in un archivio come se fosse una cartella e premiamo F3 per visualizzare un file, l'operazione di "estrazione" viene eseguita silenziosamente in background. Il file selezionato viene estratto nella cartella temporanea usando questo schema, per poi essere mostrato nel visualizzatore integrato.

Questa funzionalità verrà invocata quando si utilizza il comando interno cm_ExtractFiles.

4.7. Configurazione dell'operazione "Aggiungi"

Utilizzando le variabili e i modificatori descritti in precedenza, configureremo ora il comando per "comprimere" o "aggiungere" file a un archivio.

Continuando con l'esempio di "rar.exe", sappiamo che il comando per aggiungere file a un archivio è "a".

Con "rar.exe" è possibile fornire in input l'elenco dei file da comprimere tramite un file di elenco.

Sfrutteremo pertanto la variabile %L di Double Commander per passare l'elenco dei file selezionati per la compressione tramite un file temporaneo.

Ecco il comando configurato per "rar.exe" per la creazione o l'aggiunta di file:

Operazione: Aggiungi

Ecco la descrizione dei parametri:

Questo comando verrà invocato quando l'utente seleziona uno o più file e richiede di comprimerli in formato RAR tramite lo strumento esterno.

Questa funzionalità verrà invocata quando si utilizza il comando interno cm_PackFiles.

4.8. Configurazione dell'operazione "Elimina"

Alcuni formati di archivio supportano l'eliminazione diretta dei file situati all'interno dell'archivio compresso.

Se lo strumento supporta tale caratteristica, possiamo indicare a Double Commander il comando da eseguire.

Questo comando viene richiamato tipicamente quando siamo all'interno di un archivio, selezioniamo un file e richiediamo di eliminarlo.

Se configurata, questa stringa verrà utilizzata per completare l'eliminazione.

Si noti che questa impostazione è collocata nella seconda scheda delle opzioni dello strumento esterno.

Continuando con l'esempio di "rar.exe", ecco come configurare l'eliminazione:

Operazione: Elimina

Ecco la descrizione dei parametri:

4.9. Configurazione dell'operazione "Test"

Alcuni gestori di archivi consentono di verificare l'integrità dei file compressi per assicurarsi che non siano corrotti o danneggiati.

Se lo strumento supporta tale verifica, possiamo configurare Double Commander per eseguirla.

Ecco la configurazione per il test di integrità con "rar.exe":

Operazione: Test

Ecco la descrizione dei parametri:

Questa funzionalità verrà invocata quando si utilizza il comando interno cm_TestArchive.

Se non vengono rilevati errori, la finestra del test si chiuderà. In caso contrario, verrà mostrato un avviso simile al seguente:

Test dell'archivio: messaggio di errore

4.10. Configurazione dell'operazione "Estrai senza percorsi"

Per impostazione predefinita, quando si richiede l'estrazione di un archivio tramite il comando cm_ExtractFiles, lo strumento esterno ricrea la struttura delle cartelle presente all'interno dell'archivio.

Tuttavia, se lo strumento lo supporta, può essere utile estrarre tutti i file in un'unica cartella senza ricreare la struttura di directory interna.

Questa impostazione definisce proprio il comando per estrarre gli elementi escludendo i percorsi.

Ad esempio, con "rar.exe", utilizzeremo il comando "e" anziché "x":

Operazione: Estrai senza percorsi

Ecco la descrizione dei parametri:

Questa opzione sarà selezionabile all'interno della finestra di estrazione dei file:

Estrazione dei percorsi memorizzati

4.11. Configurazione dell'operazione "Crea archivio autoestraente"

Alcuni programmi sono in grado di generare archivi "autoestraenti" (SFX).

Questo significa che in output otterremo un file eseguibile (.exe) che, una volta avviato, provvederà autonomamente a decomprimere i file al suo interno.

Ciò si rivela molto utile per distribuire contenuti a utenti che potrebbero non disporre di software di decompressione installati: basterà avviare il file ed essi otterranno i file decompressi!

In genere, la sintassi è del tutto analoga a quella del comando "Aggiungi", con l'aggiunta di un parametro specifico che richiede la creazione di un archivio SFX.

Ecco la configurazione per "rar.exe" per la creazione di un archivio autoestraente:

Operazione: Crea archivio autoestraente

Ecco la descrizione dei parametri:

Per generare un archivio autoestraente, la procedura è analoga a quella per la normale compressione (comando cm_PackFiles), avendo cura però di spuntare la casella Crea archivio autoestraente nella finestra di dialogo.

Creazione di un archivio autoestraente

4.12. Configurazione degli "ID"

Possiamo istruire Double Commander affinché ignori l'estensione del file e provi invece a rilevare il tipo di archivio analizzandone la firma (signature) interna, per poi invocare le corrette istruzioni di analisi ed estrazione configurate.

Questo comportamento si applica quando si utilizza il comando interno cm_OpenArchive.

Un classico caso d'uso consiste nel voler esaminare il contenuto di un file autoestraente (.exe) anziché eseguirlo.

Un altro esempio è l'apertura di file di ufficio (come i file .docx di Microsoft Word) che in realtà sono semplici archivi ZIP rinominati.

In sostanza, possiamo impostare degli schemi di byte specifici in determinate posizioni del file per consentire a Double Commander di riconoscerne il formato.

Questi schemi vengono definiti "ID" e questa sezione spiega come configurarli.

Sono disponibili tre parametri: ID, Posizione dell'ID e Intervallo di ricerca dell'ID.

Indicheremo a Double Commander dove cercare lo schema di ID per identificare il formato, per poi applicare le operazioni ad esso associate.

Partiamo da un esempio pratico. Ecco l'intestazione esadecimale di un file 7-Zip:

Intestazione esadecimale di un file 7-Zip

Esaminando i file 7-Zip, notiamo che i primi 6 byte corrispondono sempre alla sequenza esadecimale 37 7A BC AF 27 1C.

Possiamo quindi configurare Double Commander affinché tratti come archivio 7-Zip qualsiasi file che presenti questa esatta sequenza all'inizio.

Ecco la configurazione corrispondente:

ID di 7-Zip

L'ID deve essere inserito come una sequenza di byte esadecimali a due cifre separati da spazi.

Posizione dell'ID (opzionale) – definisce l'offset dei byte all'interno dell'archivio. Se omesso, la ricerca avverrà all'inizio del file. È possibile inserire un valore negativo (preceduto da "-") per calcolare l'offset partendo dalla fine del file. Il valore speciale <SeekID> richiede di effettuare una ricerca dinamica all'interno del file (qualora non venga individuato all'offset fisso), limitata dall'Intervallo di ricerca. I valori possono essere scritti in formato decimale (12345) o esadecimale (0x3039).

Intervallo di ricerca dell'ID (opzionale) – definisce la dimensione massima in byte entro cui effettuare la ricerca con <SeekID>. Il valore predefinito è 1 MB。

Nota: per tutti i parametri descritti è possibile specificare valori multipli separandoli con una virgola.

Nel nostro esempio per 7-Zip, l'inserimento dell'ID e dell'offset 0 (inizio file) risulterà più che sufficiente.

Di conseguenza, all'invocazione di cm_OpenArchive, Double Commander esaminerà il file: se rileverà la sequenza 37 7A BC AF 27 1C all'offset 0, tratterà il file come archivio 7Z applicando i relativi comandi configurati per l'analisi, l'estrazione, ecc.

Nella maggior parte dei casi non è necessario analizzare manualmente i file: le firme dei vari formati sono reperibili nelle specifiche tecniche o in database noti (come questa pagina di Wikipedia o il database MIME di FreeDesktop.org).

4.13. Debug

La procedura descritta è solitamente sufficiente per integrare lo strumento esterno, ma sono disponibili opzioni aggiuntive utili per la risoluzione dei problemi:

Se la visualizzazione della finestra di log è disattivata nelle impostazioni, essa verrà mostrata forzatamente per poi essere richiusa all'uscita dal programma. I messaggi di debug non vengono salvati nel file di log globale.

4.14. Menu del pulsante "Altro"

Questo menu a comparsa contiene diverse opzioni aggiuntive:

5. Apertura di file di archivio nelle applicazioni associate

Per impostazione predefinita, i file con le estensioni configurate per i plugin WCX o i gestori esterni vengono aperti come cartelle. Se si desidera aprirli nell'applicazione di sistema associata, è possibile fare clic destro e scegliere "Apri" dal menu contestuale, oppure associare l'azione a una voce del menu "Azioni".

Se desideriamo che l'apertura con il tasto Invio o il doppio clic li avvii nell'applicazione associata, dobbiamo modificare le impostazioni.

Potremmo semplicemente rimuovere l'estensione dalla configurazione dei gestori, ma questo renderebbe inutilizzabili i comandi cm_OpenArchive e cm_ExtractFiles. Le soluzioni alternative sono:

In questo modo, Double Commander visualizzerà per tali file l'icona dell'applicazione associata di sistema anziché l'icona generica degli archivi.


Valid HTML 4.0 Transitional CSS Valid!