Double Commander

2.12. Variabili nei parametri

Contenuto

1. Breve introduzione
2. Variabili dei parametri di base
3. Suffissi di base delle variabili
4. Suffissi numerici
5. Specificare prefisso e suffisso per ciascun file
6. Percorsi dei pannelli
7. Risultati con o senza virgolette
8. Delimitatore finale nei percorsi
9. Elenco dei file
10. Suffissi per l'elenco dei file
11. Combinazione di suffissi per l'elenco dei file
12. Esecuzione nel terminale
13. Interazione
14. Altre variabili
15. Tabella riassuntiva di tutte le variabili
16. Variabili d'ambiente

1. Breve introduzione

Le variabili ci aiuteranno durante la configurazione dei pulsanti della barra degli strumenti, delle azioni di associazione file o delle scorciatoie da tastiera (hotkey).

Utilizzeremo queste variabili principalmente quando avremo bisogno di passare parametri a un comando in base al file attualmente selezionato, alla directory corrente o ad altre informazioni contestuali correlate a ciò che viene visualizzato nei pannelli.

Ecco un semplice esempio: l'utente configura un pulsante per avviare IrfanView e utilizza la variabile %p come parametro.

Esempio di variabile

Quando l'utente fa clic sul pulsante, IrfanView viene avviato sostituendo la variabile %p con il file attualmente selezionato nel pannello attivo.

Questo è il significato delle variabili descritte in questa pagina.

Come vedrai, la maggior parte delle variabili inizia con il simbolo di percentuale %.

Nota: le variabili e i suffissi fanno distinzione tra maiuscole e minuscole!

2. Variabili dei parametri di base

Queste sono le variabili di base che è possibile utilizzare, correlate alla selezione corrente.

Per impostazione predefinita, i valori delle variabili che contengono spazi e/o caratteri speciali vengono convertiti automaticamente: in Windows il valore sarà racchiuso tra doppie virgolette, mentre nei sistemi Unix-like i caratteri speciali saranno preceduti da "\". Se hai bisogno del risultato non racchiuso tra virgolette, fai riferimento alla sezione Risultati con o senza virgolette.

Per ciascuna variabile, l'esempio presuppone che si stia puntando al file C:\Users\NomeUtente\Desktop\comment.png.

Variabili di base
VariabileSignificato
%p
Nome file completo, percorso + nome file
Esempio: %p = "C:\Users\NomeUtente\Desktop\comment.png"
%f
Solo nome file, inclusa estensione
Esempio: %f = "comment.png"
%d
Solo percorso, escluso il delimitatore di directory finale
Esempio: %d = "C:\Users\NomeUtente\Desktop"
%z
Nome dell'ultima directory nel percorso
Esempio: %z = "Desktop"
%o
Solo nome file, esclusa estensione
Esempio: %o = "comment"
%e
Solo estensione, escluso il punto
Esempio: %e = "png"
%v
Nome file relativo alla directory attualmente attiva
Ad esempio, si applica quando utilizziamo il comando interno cm_FlatView.
Se effettuiamo una vista piatta dalla directory "C:\Users\NomeUtente", %v restituirà "Desktop\comment.png"

La variabile %a può essere utilizzata per file system virtuali (archivi aperti o plugin di file system): la stringa include il percorso del file system virtuale (nome completo dell'archivio o nome del plugin WFX preceduto da "wfx://") e il nome del file completo relativo alla radice del file system virtuale.

Se sono selezionati più file, queste variabili restituiranno i valori di tutti i file selezionati su un'unica riga. Per ottenere sempre il valore del file sotto il cursore, possiamo utilizzare il suffisso numerico 0.

3. Suffissi di base delle variabili

Dopo la lettera della variabile, possiamo aggiungere un'altra lettera per specificare in modo più preciso il contenuto che desideriamo utilizzare.

Per ciascuna variabile, l'esempio presuppone:
Il pannello sinistro punta al file "C:\CartellaSinistra\File.lft"
Il pannello destro punta al file "C:\CartellaDestra\File.rgh"
Il pannello attualmente attivo è quello destro.

Suffissi di base
SuffissoSignificato
s
Pannello sorgente o attivo (indipendentemente dal fatto che sia a sinistra o a destra)
Esempio: %ps = "C:\CartellaDestra\File.rgh"
t
Pannello destinazione o inattivo (indipendentemente dal fatto che sia a sinistra o a destra)
Esempio: %pt = "C:\CartellaSinistra\File.lft"
l
Pannello sinistro
Esempio: %pl = "C:\CartellaSinistra\File.lft"
r
Pannello destro
Esempio: %pr = "C:\CartellaDestra\File.rgh"
p
Entrambi i pannelli, quello attivo per primo, poi uno spazio, infine quello inattivo
Esempio: %pp = "C:\CartellaDestra\File.rgh" "C:\CartellaSinistra\File.lft"
b
Entrambi i pannelli, quello sinistro per primo, poi uno spazio, infine quello destro
Esempio: %pb = "C:\CartellaSinistra\File.lft" "C:\CartellaDestra\File.rgh"

4. Suffissi numerici

Se abbiamo selezionato più file, possiamo aggiungere un suffisso numerico al suffisso precedente per specificare esattamente quale file utilizzare.

Per ciascun elemento nella tabella, presupponiamo che il pannello sorgente punti a "C:\temp\" e che abbiamo selezionato venti file, da "FileA.txt", "FileB.txt", ecc., fino a "FileZ.txt".

Suffissi numerici
SuffissoSignificato
0
Il file sotto il cursore
Esempio: %ps0 = "C:\temp\FileY.txt"
1
Il primo file selezionato
Esempio: %ps1 = "C:\temp\FileA.txt"
2
Il secondo file selezionato
Esempio: %ps2 = "C:\temp\FileB.txt"
3
Il terzo file selezionato
Esempio: %ps3 = "C:\temp\FileC.txt"
21
Il ventunesimo file selezionato
Esempio: %ps21 = "C:\temp\FileU.txt"

5. Specificare prefisso e suffisso per ciascun file

A volte, quando passiamo parametri a un file eseguibile, è necessario includere determinati caratteri o testi prima del nome del file.

Altre volte desideriamo includere del testo sia prima che dopo il nome del file.

Si noti che quanto segue verrà applicato a ciascuno degli elementi selezionati.

Per ciascun elemento nella tabella, presupponiamo di aver selezionato tre file all'interno di "C:\Windows\Fonts": "courrier.ttf", "fixedsys.ttf" e "terminal.ttf".

Prefissi e suffissi
Prefisso e suffissoSignificato
{}
Una coppia di parentesi graffe farà sì che il testo tra le parentesi venga inserito prima di ciascun elemento selezionato
Esempio: %fs{+} = "+courrier.ttf" "+fixedsys.ttf" "+terminal.ttf"
{}{}
Due coppie di parentesi graffe faranno sì che il testo tra le prime parentesi venga inserito prima e quello tra le seconde parentesi dopo ciascun elemento selezionato.
Esempio: %fs{[}{]} = "[courrier.ttf]" "[fixedsys.ttf]" "[terminal.ttf]"

6. Percorsi dei pannelli

In precedenza abbiamo indicato variabili correlate all'elemento attualmente selezionato all'interno del pannello.

Tuttavia, possiamo anche utilizzare la variabile %D per fare riferimento al percorso della directory visualizzata nel pannello.

A tale variabile possiamo aggiungere le stesse lettere di suffisso descritte sopra per specificare a quale pannello fare riferimento.

Per ciascuna variabile, l'esempio presuppone:
Il pannello sinistro è in "C:\Reference"
Il pannello destro punta a "E:\Work"
Il pannello attualmente attivo è quello destro.

Percorsi dei pannelli
VariabileSignificato
%D
Utilizzata da sola, senza suffissi, restituirà il percorso del pannello attivo
Esempio: "E:\Work"
%Ds
La directory del pannello attivo o sorgente (a sinistra o a destra)
Esempio: "E:\Work"
%Dt
La directory del pannello inattivo o destinazione (a sinistra o a destra)
Esempio: "C:\Reference"
%Dl
La directory del pannello sinistro
Esempio: "C:\Reference"
%Dr
La directory del pannello destro
Esempio: "E:\Work"
%Z
Utilizzata da sola, senza suffissi, restituirà l'ultimo nome di directory del percorso del pannello attivo
Esempio: "Work"
%Zs
L'ultimo nome di directory del percorso del pannello attivo o sorgente (a sinistra o a destra)
Esempio: "Work"
%Zt
L'ultimo nome di directory del percorso del pannello inattivo o destinazione (a sinistra o a destra)
Esempio: "Reference"
%Zl
L'ultimo nome di directory del percorso del pannello sinistro
Esempio: "Reference"
%Zr
L'ultimo nome di directory del percorso del pannello destro
Esempio: "Work"

La variabile %A può essere utilizzata per file system virtuali (archivi aperti o plugin di file system): il nome completo dell'archivio o il nome del plugin WFX preceduto da "wfx://".

7. Risultati con o senza virgolette

Come hai visto in precedenza, per ragioni storiche e di compatibilità, DC restituirà per impostazione predefinita risultati racchiusi tra virgolette.

Originariamente, ciò era utile quando i nomi dei file contenevano spazi, consentendo al sistema di passare i parametri correttamente e far funzionare le operazioni.

Tuttavia, con l'introduzione delle nuove variabili, è emersa la necessità di disporre di risultati non racchiusi tra virgolette. Un esempio tipico è quando vogliamo unire il nome di un file sorgente, privato dell'estensione, con una nuova estensione specificata da noi.

Pertanto, invece di aggiungere nuove variabili specifiche, utilizziamo le stesse variabili impostando preventivamente all'inizio della riga dei parametri una stringa come %"0, per indicare a DC che da quel punto in poi non dovrà aggiungere virgolette al risultato.

In sintesi, abbiamo:

%"0 : a partire da questa posizione, i nomi dei file generati non saranno racchiusi tra virgolette
%"1 : a partire da questa posizione, i nomi dei file generati saranno racchiusi tra virgolette
%"  : accettato per ripristinare il valore predefinito (ovvero racchiuso tra virgolette)

La tabella seguente mostra un esempio basato su un file selezionato denominato "Client List.mdb", con i diversi risultati in base alla combinazione delle espressioni:

Esempi di utilizzo delle virgolette
EspressioneRisultato
%o.zip
"Client List".zip
%"0%o.zip
Client List.zip
%"0"%o.zip"
"Client List.zip"
%"0"%o.zip" %"1%f
"Client List.zip" "Client List.mdb"

8. Delimitatore finale nei percorsi

Per ragioni di compatibilità storica, quando DC restituisce un percorso, questo non includerà il delimitatore finale del percorso.

Questa impostazione può essere modificata utilizzando una variabile di controllo che determinerà se le variabili di percorso successive includeranno o meno il delimitatore finale.

In sintesi, abbiamo:

%/0 : i percorsi restituiti non conterranno il delimitatore finale
%/1 : i percorsi restituiti conterranno il delimitatore finale
%/  : accettato, ripristina la modalità predefinita (senza delimitatore finale)

La tabella seguente mostra un esempio basato sulla directory selezionata "C:\Users\NomeUtente\Desktop":

Esempi di delimitatore finale
EspressioneRisultato
%D
"C:\Users\NomeUtente\Desktop"
%/0%D
"C:\Users\NomeUtente\Desktop"
%/1%D
"C:\Users\NomeUtente\Desktop\"
%/%D
"C:\Users\NomeUtente\Desktop"

Questa impostazione si rivela utile quando assembliamo percorsi combinando più variabili. Ad esempio, in Windows, l'uso di %Dt\%f0 (con il delimitatore inserito manualmente) funziona all'interno delle cartelle, ma se nel pannello inattivo è aperta la radice di un'unità, Double Commander potrebbe restituire un percorso errato contenente due delimitatori dopo la lettera del drive, a differenza dell'uso corretto di %/1%Dt%f0.

9. Elenco dei file

Alcune applicazioni accettano un singolo file come parametro presupponendo che tale file sia un elenco testuale di nomi di file.

Double Commander fornisce variabili in grado di creare un file di testo temporaneo all'interno della cartella dei file temporanei del sistema, contenente l'elenco di tutti gli elementi selezionati, sostituendo il nome di tale file temporaneo alla variabile stessa.

Variabili per l'elenco dei file
EspressioneDescrizione
%L
Nome del file temporaneo contenente l'elenco completo dei nomi di file selezionati (percorso + nome file)
%F
Nome del file temporaneo contenente solo i nomi dei file selezionati
%R
Nome del file temporaneo contenente solo i percorsi relativi dei file selezionati

Double Commander utilizzerà la codifica ANSI di sistema in Windows, o la codifica predefinita nei sistemi Unix-like (solitamente UTF-8 nelle distribuzioni GNU/Linux).

Alla chiusura dell'applicazione, Double Commander eliminerà automaticamente tutti i file temporanei creati.

10. Suffissi per l'elenco dei file

Per impostazione predefinita, i nomi di file all'interno dell'elenco non sono racchiusi tra virgolette. Tuttavia, se necessario, è possibile aggiungere un suffisso per modificare questo comportamento.

Inoltre, esistono suffissi per specificare se si desidera codificare l'elenco dei file in UTF-8 o UTF-16.

Suffissi per le variabili di elenco dei file
EspressioneDescrizione
Q
I nomi di file all'interno dell'elenco temporaneo saranno racchiusi tra virgolette
U
L'elenco dei file verrà codificato in formato UTF-8
W
L'elenco dei file verrà codificato in formato UTF-16

11. Combinazione di suffissi per l'elenco dei file

È possibile aggiungere un ulteriore suffisso utilizzando le stesse lettere descritte in precedenza per specificare da quale pannello estrarre l'elenco dei file.

Ecco degli esempi possibili:

Esempi di combinazione di suffissi
EspressioneDescrizione
%LQt
Nomi di file completi, racchiusi tra virgolette, estratti dai file selezionati nel pannello di destinazione
%FUs
Solo i nomi dei file, in formato UTF-8, estratti dai file selezionati nel pannello sorgente
%RQW
Percorsi relativi dei file, racchiusi tra virgolette, in formato UTF-16, estratti dal pannello sorgente (predefinito)

12. Esecuzione nel terminale

Puoi specificare nei parametri se desideri che la riga di comando configurata venga eseguita all'interno di una finestra di terminale.

A tale scopo si utilizza la variabile %t.

Esecuzione nel terminale
EspressioneDescrizione
%t0
Esegue nel terminale e ne richiede la chiusura al termine dell'operazione
%t1
Esegue nel terminale e lo mantiene aperto al termine dell'operazione

13. Interazione

Di seguito sono riportate due variabili utili per visualizzare un messaggio o richiedere parametri all'utente durante l'esecuzione, proponendo un valore predefinito consigliato:

Interazione
EspressioneDescrizione
%[testo da mostrare]
Mostra una finestra di messaggio con il testo specificato tra le parentesi quadre
%[testo;valore_predefinito]
Richiede un valore all'utente, proponendo un valore predefinito consigliato

Esempi di interazione:

Esempi di interazione
EspressioneDescrizione
%[Make sure ThisFile.ext is closed!]
Mostrerà il messaggio "Make sure ThisFile.ext is closed!" prima di eseguire l'operazione.
%[Enter WIDTH value for image conversion;1024]
Richiederà all'utente di inserire un valore mostrando il testo "Enter WIDTH value for image conversion", proponendo il valore predefinito 1024. L'utente potrà comunque inserire un valore differente, che sostituirà l'espressione "%[query;default]" nella riga di comando.

14. Altre variabili

In questa ultima sezione presentiamo le restanti variabili non descritte in precedenza.

Altre variabili
EspressioneDescrizione
%%
Viene semplicemente sostituita da un singolo carattere di percentuale (%)
%#
A partire da questa posizione, il carattere cancelletto (#) verrà trattato come %
#%
Ripristina lo stato precedente, in cui il carattere % viene considerato il prefisso delle variabili
%?
Visualizza la riga di comando che sta per essere eseguita.

L'uso di %% serve quando abbiamo bisogno di includere un simbolo % nei parametri senza che questo venga interpretato come una variabile, in quanto potrebbe essere seguito da una lettera valida per le variabili.

La variabile %? è particolarmente utile durante la configurazione di nuovi pulsanti degli strumenti, consentendo di verificare esattamente quali parametri verranno passati.

Tramite %?, DC ti mostrerà i parametri e il comando reali che verranno eseguiti prima di procedere.

Inoltre, avrai la possibilità di modificare i parametri all'ultimo momento prima dell'esecuzione.

Questa funzione si rivela eccellente quando non si è sicuri dei parametri richiesti dall'applicazione di destinazione.

Inoltre, a volte la combinazione di percentuali e lettere delle variabili potrebbe andare in conflitto con le variabili d'ambiente di sistema.

Ad esempio, se inserisci %os%ot pensando che venga sostituito dalla semplice unione delle estensioni dei file dei pannelli attivo e inattivo, potresti notare che in Windows questo non funziona come previsto.

La sequenza %os% viene infatti normalmente interpretata dal sistema operativo per essere sostituita con il nome del sistema, in quanto variabile d'ambiente di Windows.

In questi casi entra in gioco la variabile %#.

In questo esempio specifico, digiterai %##os#ot.

%# indica a DC che da quel punto in avanti il carattere # equivarrà al simbolo di percentuale per le variabili, evitando così il conflitto con le variabili di sistema.

Questa necessità si presenta raramente, ma sapere che esiste è rassicurante!

Successivamente, se necessario, l'uso di #% ripristinerà il carattere % come prefisso per le variabili.

15. Tabella riassuntiva di tutte le variabili

Questa sezione non introduce novità, ma riassume in un'unica tabella tutte le variabili supportate e i relativi significati.

Tabella delle variabili
EspressioneDescrizione
%p
Nome del file completo, comprensivo di percorso
%f
Solo nome del file, inclusa estensione
%d
Solo percorso della directory
%z
Nome dell'ultima directory del percorso
%o
Solo nome del file, esclusa estensione
%e
Solo estensione del file, escluso il punto
%v
Nome del file relativo alla directory attualmente attiva
s
Suffisso per il pannello sorgente o attivo (es. %ps)
t
Suffisso per il pannello destinazione o inattivo (es. %pt)
l
Suffisso per il pannello sinistro (es. %pl)
r
Suffisso per il pannello destro (es. %pr)
p
Suffisso per entrambi i pannelli, attivo per primo, poi inattivo (es. %pp)
b
Suffisso per entrambi i pannelli, sinistro per primo, poi destro (es. %pb)
0
Il file sotto il cursore (es. %ps0)
1
Il primo file selezionato (es. %ps1)
2
Il secondo file selezionato (es. %ps2)
3
Il terzo file selezionato (es. %ps3)
21
Il ventunesimo file selezionato (es. %ps21)
{prefisso}
Graffe utilizzate una volta: impostano il prefisso prima del nome file (es. %f{+})
{prefisso}{suffisso}
Graffe utilizzate due volte: impostano prefisso e suffisso prima e dopo il nome file (es. %f{[}{]})
%D
Percorso del pannello attivo (sorgente) per impostazione predefinita
%Ds
Percorso del pannello attivo (sorgente) specificato
%Dt
Percorso del pannello inattivo (destinazione)
%Dl
Percorso del pannello sinistro (indipendentemente da quale sia attivo)
%Dr
Percorso del pannello destro (indipendentemente da quale sia attivo)
%Z
Ultimo nome di directory del pannello attivo (sorgente) per impostazione predefinita
%Zs
Ultimo nome di directory del pannello attivo (sorgente) specificato
%Zt
Ultimo nome di directory del pannello inattivo (destinazione)
%Zl
Ultimo nome di directory del pannello sinistro (indipendentemente da quale sia attivo)
%Zr
Ultimo nome di directory del pannello destro (indipendentemente da quale sia attivo)
%"0
A partire da questo punto, i nomi dei file generati non saranno racchiusi tra virgolette
%"1
A partire da questo punto, i nomi dei file generati saranno racchiusi tra virgolette
%"
Accettato per ripristinare la modalità predefinita con le virgolette
%/0
I percorsi restituiti non conterranno il delimitatore finale per impostazione predefinita
%/1
I percorsi restituiti conterranno il delimitatore finale
%/
Accettato per ripristinare la modalità predefinita senza delimitatore finale
%L
Nome del file temporaneo contenente l'elenco dei file comprensivi di percorsi completi
%F
Nome del file temporaneo contenente l'elenco dei soli nomi di file
%R
Nome del file temporaneo contenente l'elenco dei soli percorsi relativi dei file
Q
Suffisso per %L, %F o %R, richiede nomi di file racchiusi tra virgolette
U
Suffisso per %L, %F o %R, richiede il file di elenco in formato UTF-8
W
Suffisso per %L, %F o %R, richiede il file di elenco in formato UTF-16
%t0
Esegue nel terminale e richiede la chiusura al termine dell'operazione
%t1
Esegue nel terminale e lo mantiene aperto al termine dell'operazione
%[messaggio da mostrare]
Mostra una finestra di messaggio con il testo specificato tra le parentesi
%[messaggio;valore_predefinito]
Richiede un valore all'utente proponendo il valore predefinito consigliato
%%
Viene semplicemente sostituita da un singolo carattere di percentuale (%)
%#
A partire da questa posizione, il carattere cancelletto (#) verrà trattato come %
#%
Ripristina lo stato precedente, in cui % viene considerato il prefisso delle variabili
%?
Visualizza la riga di comando che sta per essere eseguita

16. Variabili d'ambiente

Possiamo utilizzare le variabili d'ambiente all'interno delle impostazioni di Double Commander: nei percorsi dei file eseguibili e delle icone sulla barra degli strumenti, nei nomi dei plugin, nelle directory preferite, ecc. Si tratta di un modo estremamente comodo per specificare i percorsi senza utilizzare riferimenti assoluti.

Double Commander supporta le variabili d'ambiente di sistema e fornisce alcune variabili d'ambiente personali:

Variabili d'ambiente
VariabileDescrizione
%COMMANDER_EXE%
Nome completo del file eseguibile di Double Commander (percorso + nome file, i collegamenti simbolici verranno sostituiti con i file reali)
%COMMANDER_PATH%
La directory contenente il file eseguibile di Double Commander
%COMMANDER_DRIVE%
L'unità o il disco contenente la cartella di Double Commander:
- Windows: lettera dell'unità (con i due punti);
- Sistemi Unix-like: il punto di montaggio.
%COMMANDER_INI%
Nome completo del file di configurazione principale (doublecmd.xml, percorso + nome file)
%COMMANDER_INI_PATH%
La directory contenente i file di configurazione di Double Commander
%DC_CONFIG_PATH%
La directory contenente i file di configurazione di Double Commander (sinonimo di %COMMANDER_INI_PATH%)

I nomi delle variabili %COMMANDER_PATH% e %DC_CONFIG_PATH% non fanno distinzione tra maiuscole e minuscole, ed è possibile utilizzare il simbolo di percentuale % indipendentemente dal sistema operativo utilizzato (utile per garantire la compatibilità nelle applicazioni multi-piattaforma). Tuttavia, si ricorda che nei sistemi Unix-like i nomi delle variabili d'ambiente fanno distinzione tra maiuscole e minuscole e sono tradizionalmente scritti in lettere maiuscole, pertanto utilizzare la grafia convenzionale rappresenta una buona abitudine.

In Windows, possiamo inoltre utilizzare pseudo-variabili d'ambiente nel formato %$Nome%, che corrispondono alle cartelle speciali di Windows (Double Commander utilizza le funzioni SHGetSpecialFolderPath e SHGetKnownFolderPath delle API di Windows per recuperarne i percorsi). Queste non sono normali variabili d'ambiente di sistema e non sono disponibili per i processi figli (applicazioni avviate da Double Commander), ma possiamo utilizzarle all'interno di DC in modo del tutto simile alle variabili classiche. Tutte queste variabili sono raccolte nel menu dell'assistente percorsi: a destra del pulsante per la selezione di file o directory si trova il pulsante Funzioni per scegliere il percorso corretto Funzioni per scegliere il percorso corretto, la cui descrizione è disponibile qui.

Tutte queste variabili sono state aggiunte anche al menu dell'elenco delle cartelle preferite (sotto-menu Cartelle speciali).


Creato originariamente da Rustem (dok_rust@bk.ru)

Valid HTML 4.0 Transitional CSS Valid!