EaSZy
- Utilities for Dos |
EaSZy
per MS-DOS/Windows è una collezione di programmi da eseguire sulla linea di
comando pensata sia per il programmatore che per l'utente comune. I programmi di
cui si compone, infatti, integrano ed espandono i comandi del sistema operativo
MS-DOS e Windows, offrendo nuovi strumenti che possono essere utilizzati a
diversi livelli di complessità, per colmare alcune lacune del sistema operativo
e/o di altri applicativi che si possiedono.
Questa collezione di programmi include utilities che possono essere utilizzate per:
Sicurezza file
CRCALL | verifica la non-modifica dei file mediante
il calcolo di 4 test di ridondanza ciclica a 16 bit e di uno a 32 bit, con 3 normalizzazioni |
CYP95 | cifratore a chiave privata multipass a ridondanza zero, con codifica a blocchi variabili, trasposizione scostante e arricchimento delle chiavi |
TESTDISK | verifica la leggibilità dei file indicati (per determinare se un disco è integro) |
Manipolazione file
T2T | converte file di testo da/verso i formati Dos/Windows, Macintosh e Unix, sostituendo opzionalmente le vocali accentate e le tabulazioni |
FBUILD | ricostruisce file suddivisi con FSPLIT |
FSPLIT | suddivide un file in un numero a piacere di sotto-file di dimensioni specificabili dall'utente |
MAILCODE | codifica file binari da inviare per posta elettronica e decodifica i file ricevuti |
RF | riporta i nomi (ordinati alfabeticamente) e lo spazio che tornerebbe disponibile al seguito della cancellazione dei file indicati; rimuove file con qualsiasi attributo, impedendone opzionalmente il recupero, permettendo la conferma interattiva della cancellazione di ciascuno |
SF | imposta data, ora e attributi per file/directory |
Utilities stampante
PRSEND | invia file e/o codici di controllo ad una stampante parallela |
Utilities directory
RT | rimuove alberi di directory ed il loro contenuto, mostrando preventivamente lo spazio che tornerebbe disponibile |
Utilities file batch
EASYGO | converte programmi scritti per GO-MENU (r) in programmi corrispondenti per EASYMENU; questa utility può essere utilizzata anche per generare velocemente ed in maniera automatica dei nuovi menu per EASYMENU |
EASYMENU | gestisce attraverso programma menu interattivi navigabili con la tastiera, il mouse ed il joystick; le opzioni e le scritte possono essere disposte con varie formattazioni |
GETCH | imposta il livello d'errore al valore corrispondente al codice ASCII del tasto premuto dall'utente; permette di accettare solo alcuni tasti, di specificare i codici che devono essere ritornati e di emettere un segnale acustico di avviso |
SZ-MENU | sostituisce GO-MENU (r), permettendo l'utilizzo del mouse e del joystick, incrementando il numero di opzioni a schermo, implementando uno screen saver ed un sistema di configurazione per modificare i colori e gestendo l'avvio diretto di applicativi |
TEST | imposta il livello di errore in base al valore logico assunto dall'espressione specificata, che consiste in valutazioni sul tipo di file, in confronti di stringhe e numeri |
WILD | permette di generare batch files in maniera automatica, per poter, ad esempio, utilizzare le wild card dos estese con quei programmi che non le prevedono |
Ricerca file
DE | visualizza directory colorate, attributi, data, ora (fino ai secondi), dimensione nominale e reale dei file, con tutti i parametri del comando interno DIR; sotto Windows, sono riportati (a richiesta) anche: nome lungo, data e ora di creazione, data e ora di ultima modifica, data di ultimo accesso |
DESETUP | personalizza DE (scelta colori per visualizzazione) |
FFE | permette di trovare i file che soddisfano uno o più pattern sul drive e all'interno dell'albero di directory specificato o su tutti i dischi del sistema; un tasto qualunque mette in pausa la ricerca, Esc la arresta |
TESTDISK | verifica la leggibilità dei file indicati (per determinare se un disco è integro) |
|
Tutti i programmi, ad eccezione di GETCH, stampano un breve riassunto della modalità d'utilizzo se eseguiti senza alcun parametro.
CRCALL nomefile [nomefile..] [/V.] [/X]
permette di verificare la non-modifica di un file
visualizzando nome, data, ora, taglia e valori di quattro test di ridondanza
ciclica a 16 bit (i primi due compatibili con Validate 0.4 di MacAfee, gli altri
due compatibili con Validate 2.0.1) e di un test di ridondanza ciclica a 32 bit
(ANSI X3.66) con tre normalizzazioni (0, 128 e 1024 bytes).
Oltre che specificare nomi di file con wild card Dos estese, è possibile anche
specificare nomi di directory, nel qual caso tutti i file contenuti nella
directory specificata saranno processati.
/V[1] | stampa i nomi lunghi |
/V2 | stampa sia i nomi corti che quelli lunghi |
/X | non controlla i nomi lunghi |
CYP95 file [key0 .. [key9]] [/C | /Q] [/Ddest] [/Fkeyfile] [/K[+|-]set | ?[set] | !] [/M] [/N] [/R] [/Sx:y] [/X] [/T] [/UE | /UD] [/W | /WD | /WE]
CYP95 non è compatibile con CYPHER, il cifratore
distribuito con le versioni di EaSZy anteriori alla 1.95; alcuni miglioramenti
sono stati apportati agli algoritmi di cifratura e gli header dei file cifrati
sono stati aggiornati per offrire piena compatibilità con Windows; inoltre, i
file cifrati presentano ora l'estensione ".C95".
Se si posseggono file cifrati con CYPHER e si desidera aggiornarli a CYP95, è
necessario decifrarli prima con CYPHER e quindi procedere
ad una nuova cifratura con CYP95; infatti, CYP95 non riconosce le intestazioni
dei file crittografati con le versioni precedenti e l'esecuzione del comando su
di essi comporterebbe la creazione di nuovi file cifrati e non l'ottenimento dei
file in chiaro.
copia il file originale in un nuovo file crittografato oppure lo riporta in chiaro usando la chiave o le chiavi di cifratura indicate.
Es.
CYP95 miofile.txt meglio cento giorni da PECORA che uno da LEONE
Cifra "miofile.txt" con le chiavi:
0 meglio
1 cento
2 giorni
3 da
4 PECORA
5 che
6 uno
7 da
8 LEONE
In caso di decifratura, il file decifrato ha lo stesso nome, la stessa data e
ora e gli stessi attributi del file originale; sotto Windows, anche il nome
lungo e la data/ora di creazione sono ripristinate. Naturalmente, se i file sono
stati originariamente cifrati sotto Ms-Dos, il nome lungo e la data/ora di
creazione non saranno disponibili; tali informazioni, inoltre, non saranno
ripristinate se i file sono decifrati al di fuori di una dos box.
Sono ammesse le wild card Dos estese nel nome del file da processare, sia sotto
Windows che sotto Ms-Dos.
Si possono specificare fino a 10 chiavi di cifratura, sensibili alle maiuscole e
lunghe fino a 65 caratteri ciascuna; le chiavi sulla linea di comando possono
contenere spazi se sono racchiuse tra virgolette; le virgolette sono, in questo
caso, rimosse prima di procedere.
Es.
CYP95 miofile.txt "meglio cento giorni" "da PECORA che uno da LEONE"
Cifra "miofile.txt" con le chiavi:
0 meglio cento giorni
1 da PECORA che uno da LEONE
Gli algoritmi di trasposizione e cifratura sono altamente sicuri e sofisticati:
non è prevista alcuna trap-door, né il controllo della correttezza delle chiavi
(se lo si desidera).
In ogni file cifrato sono incluse informazioni di controllo integrità, che non
inficiano in alcun modo la sicurezza della cifratura, poiché sono calcolate sul
file DOPO che è stato cifrato.
Il programma avverte in caso di omonimia di file, permettendo di riscrivere
(solo se sorgente e destinazione distinti), saltare oppure cambiare il nome del
file destinazione.
I file cifrati sono riconosciuti automaticamente (è possibile cambiare, quindi,
nome ed estensione a piacere).
Il parametro /D permette di cambiare la directory nella quale sono creati i file
(de)cifrati, che altrimenti finiscono nella stessa directory dei file sorgenti.
Il parametro /N permette di non includere le informazioni di controllo chiavi,
per proteggere ulteriormente i file cifrati da eventuali brute force attacks.
ATTENZIONE! Se questo parametro è specificato, il nome del file originale è
memorizzato in CHIARO nel header; infatti, poiché l'algoritmo di cifratura del
nome del file è il medesimo impiegato per cifrare il contenuto, un brute force
attack si potrebbe concentrare sulla accettabilità del nome del file una volta
decifrato; se il nome del file è rivelatore del contenuto, rinominarlo prima di
procedere alla cifratura. Se il parametro /N non viene specificato, sia il nome
Dos che il nome Windows sono memorizzati cifrati.
Il parametro /F viene utilizzato congiuntamente al parametro /K; esso specifica
il nome di un file contenente insiemi di chiavi, che viene eventualmente cercato
nella directory di CYP95.EXE; tale file è protetto da un lucchetto, cioé un
insieme di chiavi (da 1 a 10), analogamente ad un file cifrato; in questo modo,
è possibile servirsi di una sola pass-phrase (costituita da una o più chiavi)
per proteggere numerosi insiemi di chiavi. Le password di protezione del file di
chiavi sono impostate al momento della sua creazione e possono essere
successivamente modificate mediante il parametro /K! (vedi più sotto).
Se si utilizza regolarmente un file chiavi, è opportuno farne delle copie di
backup; data la sua importanza, ponete particolare cura alla scelta delle chiavi
di protezione e del luogo in cui mantenere le copie di sicurezza.
Se non si specifica alcun file chiavi o /F è omesso, ma si utilizza il parametro
/K, CYP95 assume come file chiavi CYP95.KEY, che si deve trovare nella stessa
directory di CYP95.EXE.
Il parametro /K permette di specificare il nome di un set di chiavi da
utilizzare, contenuto all'interno del file chiavi; tale nome è sensibile alle
maiuscole. Il parametro /K ha diverse varianti, che permettono di manipolare il
file chiavi:
/K+set aggiunge o modifica l'insieme di chiavi specificato; vi verranno
richieste le nuove chiavi per il set di chiavi indicato e una eventuale conferma
se il set esisteva e deve essere sovrascritto
/K-set rimuove l'insieme di chiavi specificato (con conferma)
/K?set stampa le chiavi dell'insieme specificato
/K? stampa i nomi degli insiemi di chiavi nel file chiavi
/K! cambia il lucchetto del file chiavi (modifica delle chiavi per l'accesso al
file chiavi)
Il nome di un set di chiavi può contenere spazi (se viene racchiuso tra
virgolette) e può essere lungo al massimo 64 caratteri.
Le chiavi del lucchetto possono essere specificate sulla linea di comando oppure
introdotte direttamente da terminale.
Il parametro /R permette di rimuovere i file sorgenti dopo che essi sono stati
processati con successo; la rimozione è irreversibile, poiché comporta la
sovrascrittura dei files con zero binari prima della loro cancellazione.
Il parametro /C, se specificato, verifica solo lo stato di cifratura dei file
specificati: in particolare, per ogni file stabilisce se esso è o meno
crittografato e, in quest'ultimo caso, se vi sono le informazioni di controllo
chiavi e se le chiavi specificate sono corrette.
Nota: i file chiavi sono riportati come file in chiaro.
Il parametro /T verifica solo l'integrità dei file cifrati su cui viene eseguito
CYP95; non è necessario introdurre le chiavi di cifratura, poiché il controllo
non prevede la decifratura dei file. Se contemporaneamente al parametro /T si
indica il parametro /C, le chiavi saranno richieste e per ogni file sarà
riportato lo stato di cifratura oltre allo stato di integrità.
Il parametro /X è utile solo sotto Windows e permette di escludere il confronto
della specifica dei file da processare con i nomi lunghi.
Se nessuna chiave è specificata sulla linea di comando e nessun parametro /K è
indicato, le chiavi da utilizzare sono richieste interattivamente dal terminale;
l'echo a video dei caratteri digitati è sostituito da asterischi (*) ed ogni
chiave deve essere re-introdotta per confermarne la correttezza. Nelle chiavi
così introdotte sono ammessi i caratteri
con codice Ascii compreso tra 32 e 255 (estremi inclusi); eventuali tasti di
controllo sono filtrati, ad eccezione di: Backspace (correzione ultimo carattere
digitato), Invio (conferma chiave) e Escape (abortisce operazione).
L'introduzione di una chiave nulla viene interpretata come termine
dell'introduzione delle chiavi. Ogni chiave introdotta in questo modo può essere
lunga al massimo 65 caratteri.
Il parametro /Q elimina la visualizzazione dei messaggi a video, sebbene i
messaggi di errore vengano comunque mostrati.
Il parametro /S permette di arricchire (salting) le chiavi specificate, alla
lunghezza ed al numero di chiavi indicate. A tale scopo, è possibile specificare
due sotto-parametri, x ed y: il primo indica la lunghezza minima delle chiavi
arricchite, il secondo il loro numero minimo. Gli estremi per x ed y sono i
seguenti:
x (lunghezza) | y (numero chiavi) | |
valore minimo | 15 | 5 |
valore massimo | 200 | 10 |
default | 50 | 5 |
Specificando nel parametro /S un valore per x o y
inferiore al valore minimo o superiore al valore massimo verrà assunto il
rispettivo estremo.
L'omissione del parametro /S equivale alla specifica di /S50:5, cioè CYP95
arricchirà le chiavi a 50 caratteri e ne aggiungerà fino ad ottenere almeno 5
chiavi. Le eventuali chiavi che eccedono la lunghezza della chiave arricchita
non vengono troncate e sono utilizzate anche le eventuali chiavi che superano il
numero delle chiavi arricchite totali.
L'arricchimento è sempre riferito alle chiavi di cifratura; se si richiede
l'utilizzo di un insieme di chiavi e si specificano dei valori di salting, tali
valori saranno applicati al set di chiavi una volta caricato.
Il parametro /M disabilita la conferma delle password mediante re-introduzione;
può risultare utile qualora si utilizzi un file di chiavi; andrebbe evitato
quando si aggiunge o modifica un insieme di chiavi.
I parametri /Ux e /Wx permettono il pre-processing ed il post-processing dei
file elaborati per l'impiego con programmi di posta elettronica e per
l'interazione con la clipboard di Windows.
Il parametro /UE post-processa i file cifrati per l'invio attraverso e-mail; il
risultato è un file di testo (estensione ".ASC") contenente un blocco di
caratteri codificati in modo simile al formato Mime Base 64; tale blocco inizia
con:
-----BEGIN CYP95 MESSAGE-----
e termina con:
-----END CYP95 MESSAGE-----
Il parametro /UD decifra un'e-mail contenente un messaggio
cifrato con CYP95; tutto il testo che circonda il messaggio cifrato è ignorato.
Se un file di testo contiene più messaggi cifrati, solo il primo viene
decifrato; per decifrare i successivi, servendosi di un editor estrapolare i
vari blocchi "CYP95 MESSAGE" e salvarli in file separati.
Il parametro /WE è simile a /UE, ma il risultato viene copiato nella clipboard
di Windows e non è salvato su un file.
Il parametro /WD è simile a /UD, ma il messaggio da decifrare è acquisito dalla
clipboard di Windows e salvato in 'file' (se specificato).
Il parametro /W (de)cifra il contenuto della clipboard e vi salva il risultato;
pertanto, se la clipboard conteneva del testo in chiaro, al termine
dell'esecuzione di CYP95 essa conterrà un blocco CYP95 MESSAGE; se la clipboard
conteneva un messaggio cifrato, al termine della corretta decifratura conterrà
il testo in chiaro originale.
DE [path [path..]] [/P] [/A.] [/O.] [/S] [/^] [/B | /W] [/V.] [/L | /U] [/F] [/X] [/I]
sostituisce il comando interno DIR, riconoscendone tutti i
parametri (inclusi quelli impostati nella variabile di ambiente DIRCMD e in
quella proprietaria DECMD) ed offrendo in più: colorazione dei file in base
all'estensione (configurabile attraverso DESETUP), fino a 8 file per riga
(parametro /W con video a 132 colonne), wild card estese (nella porzione del
nome di file in pathname), visualizzazione degli attributi, di data e ora (fino
ai secondi) e dello spazio effettivamente occupato da ciascun file/directory,
conteggio separato del numero di
file/directory trovate, sotto-ordinamento alfabetico (le voci vengono ordinate
secondo il metodo selezionato e voci con uguale campo di ordinamento sono
disposte secondo l'ordine alfabetico); inoltre, è possibile richiedere la
visualizzazione di più pathname mediante un unico comando.
Si veda il manuale del sistema operativo per i parametri ammessi dal comando DIR
ed il loro significato, o si digiti DE /? per un breve riassunto di tali
parametri; /F è un parametro aggiunto per permettere di redirezionare su un file
l'output di DE, che altrimenti è inviato esclusivamente al video; /^ seleziona
il lampeggio dei caratteri al posto degli sfondi ad alta intensità. Il parametro
/V permette di ottenere ulteriori informazioni:
/V1 o /V
- spazio complessivo su disco e percentuale di disco in uso;
- nomi lunghi (sotto Windows);
/V2
- spazio complessivo su disco e percentuale di disco in uso;
- nomi corti e lunghi;
- data e ora di creazione;
- data e ora di ultima modifica;
- data di ultimo accesso.
Il parametro /U trasforma tutti i nomi in maiuscolo; si può utilizzare con il
parametro /V1 per ottenere i nomi lunghi tutti in maiuscolo; il parametro /L
svolge analoga funzione, ma trasforma tutto in minuscolo.
Sotto Windows, ogni pattern specificato viene ricercato prima nel nome corto e
poi nel nome lungo; per evitare la ricerca nei nomi lunghi, si utilizzi il
parametro /X. Il parametro /V. ha sempre la precedenza su /X: se si specifica
/V, /X viene ignorato.
Il parametro /I permette di stabilire quali informazioni devono essere
visualizzate, facendolo seguire da una o più delle lettere seguenti:
S dimensione teorica
D data
T ora
A attributi
R dimensione reale
Se si specifica /I o /-I senza alcuna lettera, tutte le informazioni saranno
visualizzate. In modalità verbosa semplice (/V1 o /V) sotto Windows,
l'eliminazione di una o più informazioni permetterà la visualizzazione di un
maggior numero di caratteri del nome lungo dei files.
Si veda DESETUP per informazioni su come personalizzare DE.
DESETUP file
crea o sostituisce l'overlay di DE.EXE, che contiene le
informazioni sulle estensioni ed i colori associati, oltre ai colori per:
sfondo, descrizioni, attributi, data, ora, dimensione reale, dimensione
nominale, etichetta, dati riassuntivi, directory, file senza estensione e file
non classificati. DESETUP richiede come unico parametro il nome di un file testo
DOS contenente le informazioni su estensioni e colori e deve trovarsi nella
stessa directory del file DE.EXE che si intende aggiornare.
Al termine dell'operazione, DE.EXE può essere rinominato e spostato a piacere.
Il file testo DOS con le informazioni di configurazione deve avere la seguente
struttura:
- tutte le righe che non iniziano per '.', '/' o ':' sono considerate commenti e
quindi ignorate;
- una o più righe che iniziano per '/' sono considerate righe di parametri
hardwired, cioè parametri con cui DE si avvia; sono bypassati, al run-time, sia
attraverso le impostazioni delle variabili di ambiente che attraverso i
parametri in linea;
- i colori fondamentali sono specificati con la seguente sintassi:
:id colore [sfondo]
- i colori associati alle estensioni sono specificati con la seguente sintassi:
.ext colore [sfondo]
- ext, id e colore possono essere quanto segue:
ext può essere una stringa di 1, 2 o 3 caratteri;
id può essere una delle seguenti stringhe:
Dizione Inglese | Dizione Italiana | Default |
BACKGROUND | SFONDO | NERO |
INFO | INFO | GIALLO |
ATTRIBUTE | ATTRIBUTI | BLUCHIARO |
DATE | DATA | ROSSOCHIARO |
TIME | ORA | VERDECHIARO |
REALSIZE | DIMREALE | GIALLO |
NOMINALSIZE | DIMNOMINALE | CIANOCHIARO |
LABEL | ETICHETTA | ROSSOCHIARO |
NUMBERS | NUMERI | CIANOCHIARO |
DIRECTORY | DIRECTORY | MAGENTACHIARO |
NOEXTENSION | NOESTENSIONE | GRIGIOCHIARO |
OTHERFILES | ALTRIFILE | GRIGIOCHIARO |
colore può essere una delle seguenti stringhe:
Dizione Inglese | Dizione Italiana |
BLACK | NERO |
BLUE | BLU |
GREEN | VERDE |
CYAN | CIANO |
RED | ROSSO |
MAGENTA | MAGENTA |
BROWN | MARRONE |
LIGHTGRAY | GRIGIOCHIARO |
DARKGRAY | GRIGIOSCURO |
LIGHTBLUE | BLUCHIARO |
LIGHTGREEN | VERDECHIARO |
LIGHTCYAN | CIANOCHIARO |
LIGHTRED | ROSSOCHIARO |
LIGHTMAGENTA | MAGENTACHIARO |
YELLOW | GIALLO |
WHITE | BIANCO |
- si noti che se il lampeggio è attivato in DE (parametro
/^), colori successivi a GRIGIOCHIARO per lo sfondo comporteranno il lampeggio
delle scritte in primo piano, mentre lo sfondo avrà il corrispondente colore a
bassa intensità (es. BLUCHIARO -> BLU, GIALLO -> MARRONE);
- id ed ext devono essere separati per almeno uno spazio da colore;
- si deve specificare un solo id o una sola estensione per riga;
- se non si specifica un colore di sfondo, viene utilizzato l'ultimo colore
impostato con :SFONDO (inizialmente, nero);
- DESETUP non è sensibile alle maiuscole, ma è sensibile alla correttezza
sintattica delle stringhe scritte; se una stringa non viene riconosciuta, ciò
viene segnalato all'utente ed il programma abortisce senza apportare alcuna
modifica;
- è possibile utilizzare la dizione italiana oppure quella inglese a piacere;
- non viene effettuato alcun controllo sulla correttezza (per MS-DOS) delle
estensioni introdotte, né sulla visibilità delle combinazioni di colore scelte
(è possibile specificare un colore per scritte/estensioni uguale al colore dello
sfondo);
- se non si specifica uno dei colori fondamentali, viene utilizzato il colore
predefinito per esso (vedi sopra).
Il file DEFAULT.DE è il file di setup utilizzato per configurare DE così come
viene distribuito nel pacchetto.
EASYGO nome.ext [/A]
Crea un programma per EASYMENU da un file di testo, in
formato compatibile con GO-MENU (r), così strutturato:
- le righe di commento iniziano per ';' (colonna 0);
- le righe bianche iniziali sono ignorate;
- la prima riga valida diviene titolo del menu;
- le righe bianche che vengono dopo la prima riga valida fanno avanzare la
numerazione delle opzioni, ma fungono solo da separatori; la separazione
ottenibile con n righe bianche consecutive è comunque equivalente alla
separazione ottenuta con una sola riga bianca;
- tutte le altre righe costituiscono opzioni selezionabili via mouse, tasto
associato e navigazione+conferma.
Il programma creato viene registrato nel file 'nome.em'; se il file esiste già,
EASYGO esce segnalando il fatto all'utente.
Di norma, i tasti di selezione diretta delle opzioni sono i tasti funzione
(F1-F12); il parametro /A, che si attiva automaticamente se sono presenti più di
12 scelte, associa invece i tasti A-Z e 0-9.
I codici di errore all'uscita sono:
F1..F12 -> 1..12 ESC -> 200
A..Z -> 1..26 0..9 -> 27..36
EASYMENU [programma [sezione] [sezione [..] /S] [/^] [/M] [/Jn] | /R]
permette di gestire menu interattivi via mouse, tastiera e
joystick, che possono essere incorporati nei propri programmi batch. Il formato
e le voci dei menu sono specificati nel file di programma, che viene eseguito a
partire dalla sezione indicata (qualora presente).
Se si specifica il parametro /S solo le sezioni indicate sono effettivamente
caricate in memoria, mentre il parametro /^ ripristina il lampeggio dei
caratteri in uscita.
Con il parametro /R, EASYMENU imposta solamente a 0 il livello di errore
riportato dal Dos; il parametro /M forza il mouse reset lento, per compatibilità
con alcuni mouse drivers particolari.
Il parametro /J abilita il joystick; la prima volta che si utilizza il joystick,
il dispositivo verrà calibrato e le informazioni di calibrazione saranno salvate
nel file EASYMENU.JC nella directory di EASYMENU.EXE.
Se durante l'attesa di una selezione trascorrono 30 secondi di inattività, si
inserisce lo screen saver.
Si veda il paragrafo 3.1 per la descrizione dettagliata della sintassi dei
programmi e per la lista delle opzioni offerte.
FBUILD script [/Ddest] [/R] [/Q] [/X]
permette di ricreare un file suddiviso con FSPLIT; i file
da riunire si devono trovare nella stessa directory del file script; il
programma impedirà il ripristino qualora manchi qualche file dell'insieme oppure
la somma delle dimensioni sia diversa dalla dimensione attesa del file
risultante; è inoltre possibile rimuovere automaticamente i file processati
(parametro /R), che possono essere specificati mediante più wildcard * e ?; i
file ricreati hanno la stessa data, la stessa ora e gli stessi attributi dei
file originali, e vengono generati nella directory dei file sorgenti oppure in
un'altra directory a piacere (parametro /D); la versione 1.3+ di FBUILD prevede
la presenza, negli script che elabora, del valore del test di ridondanza ciclica
a
32 bit per il controllo di integrità; se tale campo è assente (script generati
da FSPLIT versione <1.30), il ripristino avrà comunque luogo ma il programma
avvertirà l'utente dell'impossibilità di verificare l'integrità del file
ricostruito. Sotto Windows, anche il nome lungo del file e la sua data/ora di
creazione sono ripristinate ai valori originali. Il parametro /Q elimina la
visualizzazione dei messaggi a video, sebbene i messaggi di errore vengano
comunque mostrati; il parametro /X esclude il confronto della specifica degli
script con i nomi lunghi di Windows.
FFE [drive:][\dir\]nomefile [nomefile..] [/B] [/D | /F] [/I.] [/L] [/P] [/V.] [/X] [/Z]
ricerca file e directory, con supporto per le wild card
Dos estese; permette di mettere in pausa e di riprendere la ricerca premendo un
qualsiasi tasto, di uscire premendo ESC; trova sia file che directory,
visualizza lo spazio fittizio e lo spazio realmente occupato dai file trovati ed
il numero di file/directory controllate; permette di limitare la ricerca ad un
sottoalbero di directory.
Il parametro /P causa l'arresto della ricerca ad ogni pagina completa, così da
consentire la lettura dei nomi trovati.
Il parametro /B forza la stampa del path completo per ciascun file/directory
trovato, eliminando qualsiasi informazione addizionale (dimensioni, attributi,
data, ora per ciascun file; prospetto finale su numero file/directory trovati,
occupazione reale e fittizia, numero di file/directory analizzate).
Il parametro /F limita la ricerca ai soli file, non verificando il matching per
i nomi di directory; il parametro /D, viceversa, limita il confronto alle sole
directory, escludendo i file.
Il parametro /L comporta la stampa dei pathname in minuscolo.
Il parametro /V permette di ottenere ulteriori informazioni:
/V1 o /V
- nomi lunghi (sotto Windows);
/V2
- nomi corti e lunghi;
- data e ora di creazione;
- data e ora di ultima modifica;
- data di ultimo accesso.
Sotto Windows, ogni pattern specificato viene ricercato prima nel nome corto e
poi nel nome lungo; per evitare la ricerca nei nomi lunghi, si utilizzi il
parametro /X. Il parametro /V. ha sempre la precedenza su /X: se si specifica
/V, /X viene ignorato.
Il parametro /I permette di stabilire quali informazioni devono essere
visualizzate, facendolo seguire da una o più delle lettere seguenti:
S dimensione teorica
D data
T ora
A attributi
R dimensione reale
Se si specifica /I o /-I senza alcuna lettera, tutte le informazioni saranno
visualizzate. In modalità verbosa semplice (/V1 o /V) sotto Windows,
l'eliminazione di una o più informazioni permetterà la visualizzazione di un
maggior numero di caratteri del nome lungo dei files.
Il parametro /Z permette di ripetere la ricerca su tutti i dischi del sistema,
esclusi i floppy; se si è specificata una directory iniziale per la ricerca, la
scansione partirà da tale directory su ogni disco.
I parametri /B, /I, /L, /V, /P e /X possono essere pre-impostati nelle variabili
di ambiente DIRCMD e DECMD. Per eliminare la pre-impostazione di un parametro,
lo si faccia precedere da un trattino (-).
Solo il primo file può contenere l'indicazione di drive/directory; la eventuale
specifica di tali informazioni nei successivi file da ricercare viene
semplicemente ignorata; in pratica, tutti i nomi di file/directory seguenti al
primo sono ricercati all'interno dello scope di questo.
FSPLIT file [/Ddest] [/Nxx | /Sn] [/R] [/Q] [/X]
permette di suddividere un file in più file di dimensioni
specificabili dall'utente; senza parametri, il programma funziona in modalità
interattiva; altrimenti, è possibile specificare il numero di file di dimensioni
circa uguali da generare (parametro /N, massimo 99), oppure la dimensione
massima che i sottofile generati debbono avere (parametro /S); è inoltre
possibile rimuovere automaticamente i file processati (parametro /R), che
possono essere specificati mediante più wildcard * e ?; assieme ai file
componenti, viene generato anche uno script per riassemblare il file originale
mediante FBUILD; lo script ha sempre estensione ".!!!", mentre i sottofile
generati hanno estensione "!xx", dove xx è compreso tra 01 e 99 (il numero
massimo di sottofile è appunto pari a 99 per ciascun file elaborato); i file
vengono prodotti nella directory dei file sorgenti, oppure in un'altra directory
a piacere (parametro /D); in modalità interattiva, ciascun file viene
inizialmente diviso in due file di dimensioni circa uguali; premendo U, è
possibile riunire due file, specificando prima il sorgente e poi il
destinatario; premendo D, si può spezzare un file in due file di dimensioni a
piacere: in questo caso, i tasti cursore destro-sinistro aumentano di 1 Kb
rispettivamente il file mostrato a destra o quello a sinistra; gli stessi tasti,
premuti in combinazione con CTRL, causano un incremento di 10 Kb; premendo il
tasto C, il file processato (il cui nome è mostrato in alto a destra) viene
spezzato in file di dimensioni pari a quanto illustrato; premendo P, viene
saltata l'elaborazione del file corrente e si passa al successivo (se esiste);
premendo ESC, infine, si esce indipendentemente dal fatto che il file corrente
sia l'ultimo della lista dei file da elaborare; la versione 1.3+ di FSPLIT
calcola un test di ridondanza ciclica a 32 bit sul file mentre lo divide e salva
questo valore nello script, per fornire un controllo sull'integrità del file
ricostruito; inoltre, presenta il parametro /Q, che elimina la visualizzazione
dei messaggi a video, sebbene i messaggi di errore vengano comunque mostrati.
Sotto Windows, sono gestiti i nomi lunghi nella specifica dei file da
processare; i file suddivisi prodotti hanno il nome corrispondente al nome corto
di ciascun file indicato.
Se si indica il parametro /X, non sono cercate corrispondenze della specifica
nei nomi lunghi di file.
GETCH [R] [?] [Kxyz..] [Ax=n/y=m/..] [U|C] [B] [Tx,n] [E] [H] [Pprompt ..]
attende la pressione di un tasto e ritorna settando il
livello di errore al codice ASCII corrispondente.
Il parametro R causa l'impostazione a 0 del livello di errore e l'uscita
immediata.
Il parametro ? permette di visualizzare i codici dei tasti premuti, per un
successivo utilizzo in GETCH stesso ed in EASYMENU.
Il parametro B attiva la segnalazione acustica di richiesta input.
Il parametro U permette di non distinguere tra lettere maiuscole e minuscole
('A' = 'a', default); il parametro C, viceversa, permette di distinguere tra
maiuscole e minuscole, per cui 'a' è diversa da 'A'.
Il parametro K fa sì che il programma accetti solo i tasti indicati
(specificabili con costanti C-like).
Il parametro A permette di assegnare un codice di ritorno a piacere (0-255) a
qualsiasi tasto.
Il parametro T introduce il tasto x dopo n secondi di inattività; se n non viene
specificato, il default è pari a 5 sec. Il valore minimo per n è pari a 1
secondo. Se il tasto x non è nell'insieme specificato con K o A, viene
introdotto tra i tasti accettabili, con codice di ritorno pari al valore ASCII
del carattere.
Il parametro E visualizza il carattere corrispondente al tasto premuto (se
compreso tra 32 e 255).
Il parametro P visualizza prompt e tutti i parametri seguenti prima di attendere
l'input da tastiera.
La specifica di un parametro A o K porta il programma nella modalità di
accettazione dei soli tasti indicati.
ATTENZIONE! Digitare GETCH H <return> per avere la documentazione a video.
MAILCODE inputfile [outputfile] [/D] [/U]
codifica un file per l'invio attraverso e-mail o
decodifica un file binario ricevuto in e-mail; di default, codifica utilizzando
Base 64.
Se '/D' è specificato, il file è decodificato (il tipo è dedotto
automaticamente); se '/U' è indicato, il file è UU-codificato.
Estensioni utilizzate in codifica (outputfile non specificato): ".ASC" (base
64), ".UUE" (uu-codifica).
Se outputfile è specificato in decodifica, il nome sarà utilizzato per il file
decodificato indipendentemente dal nome incluso in inputfile.
Sia inputfile che outputfile possono essere nomi lunghi di Windows; NON sono
ammesse wildcard nella specifica di inputfile.
Il programma avverte in caso di omonimia di file, permettendo di riscrivere
(solo se sorgente e destinazione distinte), saltare oppure cambiare il nome del
file destinazione.
MAILCODE non gestisce file splittati; in decodifica, unire preventivamente tutte
le sezioni in un'unico file (MAILCODE ignora eventuali righe bianche frammiste),
mentre in codifica servirsi di un editor di testo per suddividere il file
prodotto in più file da inviare.
PRSEND [+nomefile] [-stringa] [&stringa] [:porta] [#n] [X]
invia file (parametro '+') e stringhe (parametro '-' se letterali, parametro '&' per avere la traduzione delle costanti C-like e della sottolineatura in spazio); è possibile in questo modo inviare anche caratteri di controllo; i dati possono essere inviati a qualsiasi porta parallela (parametro :), ed è permesso l'utilizzo delle wild card Dos estese nel nome dei file; i caratteri speciali possono essere indicati attraverso le usuali sintassi del linguaggio C (sequenze escape, costanti ottali ed esadecimali); il parametro #n (dove n è un intero positivo) forza l'invio di file e stringhe in sequenza per esattamente n volte; X esclude il confronto con i nomi lunghi (solo sotto Windows). Sulla linea di comando, utilizzare nelle stringhe la sequenza (\42) al posto di (") e \40 al posto dello spazio: infatti, le virgolette sono utilizzate per identificare i pathname lunghi di Windows, nei quali può essere presente lo spazio.
RF file [file..] [/!] [/Q] [/Sfile [/Sfile..]] [/V] [/X]
programma per rimuovere file da disco; supporta le wild
card Dos estese in nomefile; visualizza l'elenco alfabetico dei file da
cancellare e lo spazio REALE che tornerebbe disponibile dopo la cancellazione;
permette quindi di eliminare tutti i file, di uscire oppure di confermare la
cancellazione per ciascun file; RF rimuove QUALSIASI tipo di file (inclusi
read-only, hidden e system), mentre non opera sulle directory; il parametro '/!'
permette di impedire l'eventuale ripristino dei file cancellati, mediante
sovrascrittura degli stessi con zero binari prima della rimozione.
Il parametro '/Q' forza la rimozione incondizionata dei file indicati, senza
visualizzazione e conferma; se nessun file viene trovato, in questa modalità non
è visualizzato alcun messaggio a video.
L'opzione /S permette di escludere un file o un insieme di file dalla
cancellazione.
Sotto Windows, il parametro /V permette di visualizza i nomi lunghi dei file;
ogni pattern specificato viene ricercato prima nel nome corto e poi nel nome
lungo; per evitare la ricerca nei nomi lunghi, si utilizzi il parametro /X. Il
parametro /V. ha sempre la precedenza su /X: se si specifica /V, /X viene
ignorato.
I parametri /V e /X possono essere pre-impostati nelle variabili di ambiente
DIRCMD e DECMD. Per eliminare la pre-impostazione di un parametro, lo si faccia
precedere da un trattino (-).
Più specifiche relative allo stesso percorso sono trattate contemporaneamente.
RT percorso [percorso..] [/Q]
programma per rimuovere un intero albero di directory,
inclusi tutti i file contenuti; prima di procedere, mostra lo spazio REALE che
tornerebbe disponibile; dopo la conferma, rimuove qualsiasi tipo di file
contenuto all'interno dell'albero da eliminare.
Il parametro '/Q' forza la rimozione incondizionata degli alberi indicati, senza
richiesta di conferma.
SF file [file..] [/A[±R][±H][±S][±A]] [/Dgg/mm/aa] [/Too:mm:ss] [/S] [/Q] [/CDgg/mm/aa] [/CToo:mm:ss] [/MDgg/mm/aa] [/MToo:mm:ss] [/Lgg/mm/aa] [/X]
Imposta attributi, data e ora dei file specificati, o i
soli attributi delle directory indicate.
Se si omette una classe di informazioni, vengono ritenute le informazioni
correnti per quella classe. Nel parametro /A, + imposta e - cancella l'attributo
che segue; il parametro /S permette di elaborare ricorsivamente i file
corrispondenti alla specifica nelle sottodirectory.
Il parametro /Q elimina la visualizzazione dei messaggi a video, sebbene i
messaggi di errore vengano comunque mostrati.
Sotto Windows: /X esclude il confronto con i nomi lunghi; /C, /D, /L impostano
data/ora di creazione, modifica e ultimo accesso, rispettivamente; il parametro
/MD corrisponde a /D, il parametro /MT a /T.
Il parametro file può includere più wildcard * e ?.
SZ-MENU menu.mnu [/K] [/M] [/Snomefile] [/Pn] [/Dx] [/C] [/I] [/Rnomefile] [/Wnomefile] [/U] [/Ln]
Lancia un menu interattivo via mouse e tastiera, di
aspetto simile alle schermate prodotte da GO-MENU.
SZ-MENU offre molte caratteristiche addizionali rispetto a GO-MENU:
- supporto per il mouse e per il joystick;
- screen saver con tempo di intervento configurabile;
- menu con fino a 255 opzioni per pagina, su una o più colonne (massimo 99
pagine di opzioni);
- colori configurabili per il singolo menu e per il menu standard;
- possibilità di inclusione di altri menu;
- macro ricorsive parametrizzate;
- funzionalità avanzate per gestione diretta del menu;
- ricerca stringhe nelle opzioni;
- notepad e scoreboard associabili ad ogni opzione (notepad anche
condivisibili);
- avvio applicativi con parametri a scelta oppure introdotti a richiesta;
- esecuzione condizionale di operazioni.
Nota per Windows: SZ-MENU supporta i nomi lunghi; se tali nomi comprendono
spazi, racchiuderli fra virgolette (questo è valido sia per i nomi che compaiono
come parametri che per i nomi degli eseguibili, argomento di RUNxx e SYSxx).
Il parametro /K disabilita il joystick (forza l'uso di tastiera/mouse).
Il parametro /M forza il mouse reset lento, per ovviare ad incompatibilità con
mouse drivers datati o particolari.
Il parametro /I causa la stampa della direttiva SELECT corrispondente alle
impostazioni correnti di setup per SZ-MENU e l'uscita; si veda più avanti la
descrizione di tale direttiva.
Il parametro /L causa la stampa delle opzioni e/o degli scoreboard in menu e
l'uscita; i valori possibili per n (= 0 di default) sono:
n Descrizione
0 stampa solo opzioni
1 stampa solo scoreboard
2 stampa opzioni e scoreboard, separati dalle prime con TAB.
Se si desidera che ciascuna opzione sia preceduta dal tasto di scelta rapida,
aggiungere 3 al valore di n prescelto; quindi:
n Descrizione
3 stampa solo opzioni, con tasti di selezione
4 stampa solo scoreboard (come 1)
5 stampa opzioni (con tasti) e scoreboard, separati da TAB.
Il parametro /R permette di leggere le informazioni di setup da un'altra copia
di SZ-MENU, oppure da un file con l'overlay ottenuto mediante /W; le
informazioni sono salvate in overlay all'eseguibile corrente.
Il parametro /W salva su un nuovo file oppure su un'altra copia di SZ-MENU le
informazioni correnti di setup.
Il parametro /P specifica una posizione di salvataggio, che fa sì che ogni
selezione (diversa dalla pressione di Esc) venga salvata all'uscita e ricaricata
all'avvio, evidenziando per prima l'opzione corrispondente.
Il parametro /S specifica il nome del file di salvataggio (default: menu.SAV).
Il parametro /U elimina i campi inaccessibili dal file ausiliario contenente le
registrazioni dei notepad (vedi più avanti).
Il file 'menu.mnu' deve essere un file di testo, con la seguente struttura:
- le righe che iniziano per ; sono ignorate; se, però, iniziano per ';.', allora
la riga è interpretata come direttiva (vedi sotto);
- tutte le righe bianche iniziali sono ignorate;
- la prima riga valida è utilizzata come titolo del menu;
- le righe bianche che seguono la prima riga valida fanno avanzare la
numerazione delle opzioni, ma non costituiscono un'opzione selezionabile;
permettono, invece, di separare opzioni altrimenti consecutive. La separazione
ottenuta con n righe bianche è comunque equivalente alla separazione ottenibile
con una sola riga bianca;
- tutte le altre righe costituiscono opzioni selezionabili via mouse, tasto
associato o mediante navigazione+conferma; il tasto loro assegnato parte da F1 o
da A, se presente.
I tasti riconosciuti da SZ-MENU per la navigazione sono:
frecce cursore sposta selezione
HOME/END prima/ultima opzione della pagina
PgDn /PgUp cambia pagina
TAB apre l'eventuale notepad associato all'opzione
CTRL-PgDn /CTRL-PgUp prima/ultima pagina
\ o / cerca stringa nelle opzioni e negli scoreboard
+/- continua ricerca in avanti/indietro
Il tasto sinistro del mouse seleziona l'opzione indicata, o cambia la pagina del
menu se il cursore si trova sopra i due tasti di pagina (in alto a destra). Il
tasto destro del mouse corrisponde alla pressione di ESC (uscita).
Il joystick permette di rimpiazzare i tasti cursore della tastiera; inoltre, le
seguenti combinazioni hanno una funzione speciale:
fuoco 1 seleziona l'opzione evidenziata
fuoco 2 + su pagina precedente
fuoco 2 + giù pagina successiva
fuoco 2 + fuoco 1 uscita (come ESC)
L'ultima combinazione va eseguita come indicato: infatti, se si preme prima il
fuoco 1 avrà luogo la selezione.
La prima volta che si utilizza il joystick, il dispositivo verrà calibrato e le
informazioni di calibrazione saranno salvate nel file SZ-MENU.JC nella directory
di SZ-MENU.EXE.
La ricerca effettuata da SZ-MENU è sempre insensibile alle maiuscole; inoltre,
sono ammesse più wild card * e ? (SZ-MENU aggiunge comunque alla stringa da
cercare un asterisco alla fine ed uno all'inizio, in modo da trovare occorrenze
all'interno delle stringhe).
Sono automaticamente ignorate eventuali opzioni nulle finali (= righe bianche).
Se il numero di opzioni per pagina è più grande di 12, SZ-MENU passa
automaticamente all'uso delle lettere alfabetiche; se tale numero è maggiore di
36, SZ-MENU elimina la possibilità di utilizzare gli hotkeys. Se l'impostazione
degli hotkeys è forzata a tasti funzione (1) o lettere alfabetiche (2), SZ-MENU
utilizzerà sempre gli hotkeys specificati, limitando opportunamente il numero di
opzioni per pagina.
Il comportamento del programma in base ai parametri indicati può così essere
schematizzato:
Hotkeys | Opzioni <= 12 | Opzioni <= 36 | Opzioni > 36 |
0 | tasti funzione | A-Z 0-9 | solo navigazione |
1 | tasti funzione | tasti funzione | tasti funzione |
2 | A-Z 0-9 | A-Z 0-9 | A-Z 0-9 |
3 | solo navigazione | solo navigazione | solo navigazione |
Il numero di colonne di opzioni utilizzato verrà sempre
determinato sulla base del numero di opzioni per pagina e sulla lunghezza
massima per la singola opzione.
SZ-MENU è dotato, inoltre, di alcune direttive addizionali e di metodi
associabili alle opzioni. Le direttive sono:
1) ;.ASK ID [&nomefile, offset, llen] [prompt[,len[,default]]]
Associa ad ID una stringa introdotta dall'utente.
Una macro di questo tipo è detta A RICHIESTA: le macro a richiesta sono espanse
TUTTE prima dell'esecuzione della catena di metodi associati ad una opzione; se
l'utente abortisce l'editing del campo stringa di una qualsiasi delle macro a
richiesta necessarie per l'esecuzione della catena di metodi, nessuno dei metodi
viene eseguito e SZ-MENU torna in modo navigazione menu.
La stringa prompt è visualizzata come commento alla stringa da introdurre; è
troncata a 70 caratteri, se più lunga di tale quantità.
Il parametro len, se specificato, indica la massima lunghezza della stringa che
l'utente può introdurre; di default, è pari a 30 caratteri e comunque come
minimo maggiore di 0; default è il valore iniziale da assegnare alla stringa;
questo valore viene sostituito, in caso di conferma dell'editing, dal valore
introdotto. Il parametro len ha precedenza sul valore di default: se tale valore
è più lungo, viene comunque troncato a len caratteri.
Se nessun prompt è specificato, come commento viene utilizzato il nome della
macro da espandere; se default non è specificato, la stringa iniziale contiene
solo spazi.
Se si specifica la parte "&nomefile ...", i primi llen caratteri della stringa
introdotta sono salvati (a partire da offset su nomefile) alla conferma dell'editing
e ricaricati alla successiva
richiesta della macro; in questo caso, default è utilizzato solo alla prima
introduzione, se non viene trovato nomefile.
La finestra di dialogo per l'introduzione di una macro a richiesta ha gli stessi
colori, le stesse cornici e la stessa direzione/tipo delle ombre del box
interno; il campo testo ha primo piano e sfondo invertiti. La pressione del
tasto destro del mouse o di ESC annulla l'editing; TAB permette di scambiare
l'evidenziazione dei tasti OK e ANNULLA; Invio corrisponde alla pressione del
tasto evidenziato.
Il mouse può essere utilizzato per riposizionare il cursore all'interno del
campo testo.
Ulteriori tasti per l'editing sono:
INS cambia tra modo sovrascrittura e modo inserimento
BACKSPACE cancella il carattere precedente
CANC cancella il carattere attuale
HOME porta all'inizio del campo editato
END porta oltre il primo carattere diverso da spazio partendo dalla fine del
campo editato
Si veda la direttiva ;.DEFINE per la parametrizzazione delle macro e la loro
sintassi.
2) ;.LOOKUP [@]ID [&file] [prompt[,len[,default]]]
Associa ad ID una stringa cercata su 'file' (se questo parametro non viene
specificato, è assunto come nome del file dizionario il nome del file di menu
con estensione '.DIZ').
Una macro di questo tipo è detta DI CONSULTAZIONE; le macro di consultazione
sono espanse TUTTE prima dell'esecuzione della catena di metodi associati ad una
opzione.
Il file dizionario è un file di testo letto e mantenuto automaticamente,
costituito da una serie di righe del tipo:
ID: valore
(ID deve trovarsi sempre a inizio riga)
Il file dizionario può anche essere editato a mano, purché si rispetti la
struttura generale; ad ogni aggiornamento, solo la riga direttamente interessata
alla modifica viene sostituita: tutte le altre righe sono copiate invariate.
Le macro di consultazione possono essere di due tipi: globali e locali. Gli ID
delle macro globali devono essere preceduti, nella definizione della macro, dal
carattere '@'.
La consultazione della macro nel file dizionario avviene in questo modo:
1) macro globale: viene restituita la prima stringa in 'file' associata ad ID;
2) macro locale: viene restituita la prima stringa in 'file' associata all'identificatore
di notepad associato all'opzione selezionata.
Nel caso una macro non sia trovata oppure l'opzione corrente non abbia un
identificatore di notepad la macro viene sempre espansa a stringa vuota ("").
Due combinazioni di tasti predefinite permettono di visualizzare ed editare i
valori delle macro:
SHIFT-TAB: modifica le macro locali;
CTRL-TAB: modifica le macro globali.
Tutte le macro saranno richieste in sequenza; se si abortisce l'editing di una
macro, saranno perse solo le modifiche relative a quest'ultima e non quelle
effettuate alle eventuali precedenti macro.
La stringa prompt è visualizzata come commento alla stringa da introdurre; è
troncata a 70 caratteri, se più lunga di tale quantità.
Il parametro len, se specificato, indica la massima lunghezza della stringa che
l'utente può introdurre; di default, è pari a 30 caratteri e comunque come
minimo maggiore di 0; default è il valore iniziale da assegnare alla stringa;
questo valore viene sostituito, in caso di conferma dell'editing, dal valore
introdotto. Il parametro len ha precedenza sul valore di default: se tale valore
è più lungo, viene comunque troncato a len caratteri.
Se nessun prompt è specificato, come commento viene utilizzato il nome della
macro da espandere; se default non è specificato, la stringa iniziale contiene
solo spazi.
La finestra di dialogo per l'editing di una macro di consultazione ha gli stessi
colori, le stesse cornici e la stessa direzione/tipo delle ombre del box
interno; il campo testo ha primo piano e sfondo invertiti. La pressione del
tasto destro del mouse o di ESC annulla l'editing; TAB permette di scambiare
l'evidenziazione dei tasti OK e ANNULLA; Invio corrisponde alla pressione del
tasto evidenziato.
Il mouse può essere utilizzato per riposizionare il cursore all'interno del
campo testo.
Ulteriori tasti per l'editing sono:
INS cambia tra modo sovrascrittura e modo inserimento
BACKSPACE cancella il carattere precedente
CANC cancella il carattere attuale
HOME porta all'inizio del campo editato
END porta oltre il primo carattere diverso da spazio partendo dalla fine del
campo editato
Si veda la direttiva ;.DEFINE per la parametrizzazione delle macro e la loro
sintassi.
3) ;.PATH ID [+parametri] [&nomefile, offset,
llen] [prompt[,len[,default]]]
Associa ad ID un nome di file o directory introdotta dall'utente.
Una macro di questo tipo è detta DI PERCORSO: le macro di percorso sono espanse
TUTTE prima dell'esecuzione della catena di metodi associati ad una opzione; se
l'utente abortisce l'editing di una qualsiasi delle macro di percorso necessarie
all'esecuzione della catena di metodi, nessuno dei metodi viene eseguito e
SZ-MENU torna in modo navigazione menu.
Parametri ammessi:
p ammette il path nel nome di file/directory
w ammette i nomi lunghi sotto Windows
d richiede nome di directory
f richiede nome di file (default)
u converte in maiuscolo i nomi introdotti
b da utilizzarsi con d: termina ogni directory introdotta con il carattere
backslash (\)
e richiede l'esistenza del file o della directory introdotta per accettare
l'input
La stringa prompt è visualizzata come commento al percorso da introdurre; è
troncata a 70 caratteri, se più lunga di tale quantità.
Il parametro len, se specificato, indica la massima lunghezza della stringa che
l'utente può introdurre; di default, è pari a:
- 256 caratteri se il parametro w è specificato;
- 80 caratteri se il parametro p è specificato, ma non il parametro w;
"default" è il valore iniziale da assegnare ad ID; questo valore viene
sostituito, in caso di conferma dell'editing, dal valore introdotto.
Il parametro len ha precedenza sul valore di default: se tale valore è più
lungo, viene comunque troncato a len caratteri.
Se nessun prompt è specificato, come commento viene utilizzato il nome della
macro da espandere; se default non è specificato, la stringa iniziale contiene
solo spazi.
Se si specifica la parte "&nomefile ...", i primi llen caratteri della stringa
introdotta sono salvati (a partire da offset su nomefile) alla conferma dell'editing
e ricaricati alla successiva
richiesta della macro; in questo caso, default è utilizzato solo alla prima
introduzione, se non viene trovato nomefile.
La finestra di dialogo per l'introduzione di una macro di percorso ha gli stessi
colori, le stesse cornici e la stessa direzione/tipo delle ombre del box
interno; il campo testo ha primo piano e sfondo invertiti. La pressione del
tasto destro del mouse o di ESC annulla l'editing; ALT-TAB permette di scambiare
l'evidenziazione dei tasti OK e ANNULLA; Invio corrisponde alla pressione del
tasto evidenziato.
Il mouse può essere utilizzato per riposizionare il cursore all'interno del
campo testo.
Ulteriori tasti per l'editing sono:
INS cambia tra modo sovrascrittura e modo inserimento
BACKSPACE cancella il carattere precedente
CANC cancella il carattere attuale
HOME porta all'inizio del campo editato
END porta oltre il primo carattere diverso da spazio partendo dalla fine del
campo editato
Il tasto TAB è particolarmente utile: esso autocompleta il nome parziale
introdotto con il massimo prefisso comune disponibile; ad esempio, se TEMP è
l'unica directory che inizia per T sul drive C:, introducendo:
C:\T
e premendo TAB si otterrà:
C:\TEMP\
Per quanto riguarda la parametrizzazione, poiché nel nome di file o directory
introdotto non possono essere presenti parametri essa funziona in modo diverso
da quanto si vedrà nella direttiva DEFINE; per espandere la macro ID a quanto
introdotto, si utilizzi:
$(ID)
Se si vogliono utilizzare solo una o più parti del pathname, la sintassi è come
segue:
$(ID:s1[,s2..])
dove s1, s2 e tutte le altre stringhe specificate sono concatenate e trasformate
mediante la sostituzione dei seguenti caratteri:
^ drive (x:)
$ drive+path
* nome
? estensione (senza il '.' iniziale)
# nome+estensione (con '.' separatore)
Naturalmente, se la parte corrispondente al carattere indicato è vuota, il
carattere è semplicemente rimosso.
4) ;.CHOOSE ID [&nomefile, offset, len]
[@]voce:stringa[,voce:stringa[,voce:stringa..]]
voce: stringa da usare per descrivere la voce
stringa: stringa associata ad ID con la selezione
Associa ad ID una stringa a scelta da un certo insieme.
Una macro di questo tipo è detta A SCELTA: le macro a scelta sono espanse TUTTE
prima dell'esecuzione della catena di metodi associati ad una opzione; se
l'utente abortisce l'editing del campo stringa di una qualsiasi delle macro a
richiesta necessarie per l'esecuzione della catena di metodi, nessuno dei metodi
viene eseguito e SZ-MENU torna in modo navigazione menu.
Voce e stringa possono contenere ':' e ',' specificando tali caratteri con le
sequenze "\:" e "\,". La voce preceduta da '@' è la selezione predefinita, cioé
evidenziata quando viene richiesto il valore della macro. Se non si specifica
una stringa, viene associata alla voce la stringa vuota.
Se si specifica la parte "&nomefile ...", i primi len caratteri della stringa
corrispondente alla selezione sono salvati (a partire da offset su nomefile)
alla conferma e ricaricati alla successiva richiesta della macro; in questo
caso, la selezione di default è utilizzata solo alla prima introduzione, se non
viene trovato nomefile.
La finestra di dialogo per la selezione di una macro a scelta ha gli stessi
colori, le stesse cornici e la stessa direzione/tipo delle ombre del box
interno. La pressione del tasto destro del mouse o di ESC annulla la selezione;
Invio o il tasto sinistro del mouse seleziona la voce evidenziata.
Ulteriori tasti per la navigazione sono:
HOME prima voce
END ultima voce
SU voce precedente
GIU' voce successiva
Si veda la direttiva ;.DEFINE per la parametrizzazione delle macro e la loro
sintassi.
5) ;.DEFAULT [0-9]
Seleziona una delle 10 combinazioni predefinite per il setup.
6) ;.DEFINE ID stringa
;.DECLARE ID stringa
Associa ad ID la scritta stringa; utilizzabile per l'espansione automatica di ID
all'interno dei metodi e delle opzioni.
Una macro di questo tipo è detta PREDEFINITA (DEFINE) o POSTDEFINITA (DECLARE):
le macro predefinite sono tutte espanse PRIMA di accettare l'input dell'utente;
le macro postdefinite sono espanse unicamente prima dell'esecuzione della catena
metodi associata all'opzione selezionata.
ID non può contenere il carattere ':'. L'espansione è insensibile alle maiuscole
e stringa può contenere a sua volta macro da espandere.
Per indicare di espandere ID all'interno di una stringa, lo si includa fra
parentesi e lo si faccia precedere da $, come nel seguente esempio:
;.define F nomefile.txt
Opzione 1::SYSP TYPE $(F)
Una macro può contenere dei parametri (fino a 9), che si indicano con %1, %2,
.., %9 (per ottenere il simbolo di percentuale, si utilizzi %%).
I parametri sono passati alle macro all'interno delle parentesi di espansione,
separando ID dai parametri con il carattere ':' e separando i parametri tra loro
con virgole, in questo modo:
;.define E ::RUN pkunzip %2 %1::RUN list %1::SYS
del %1
Mostra file1.txt$(E:file1.txt,ARC.ZIP)
Mostra file2.txt$(E:file2.txt,ARC.ZIP)
Se una macro richiede n1 parametri e vengono passati n2 < n1 argomenti, i
parametri non specificati sono espansi a nulla. I parametri possono a loro volta
contenere macro da espandere, per esempio:
;.define ZIPFILE ARC.ZIP
;.define E ::RUN pkunzip %2 %1::RUN list %1::SYS del %1
;
Mostra file1.txt$(E:file1.txt,$(ZIPFILE))
Mostra file2.txt$(E:file2.txt,$(ZIPFILE))
Non è possibile, invece, specificare una macro di macro, come:
$($(ID):p1,p2) <-- NON VALIDA
Per inserire una virgola all'interno di un parametro nell'invocazione, la si
faccia precedere da '\'; per esempio:
;.define PROGRAM ::RUN myprog %2 %1
Fa qualcosa$PROGRAM(file, -a 1\,2\,3)
eseguirà: myprog -a 1,2,3 file
7) ;.GET ID env_var
Associa ad ID il contenuto della variabile di ambiente ID.
Una macro di questo tipo è detta DA AMBIENTE: le macro da ambiente sono espanse
durante l'esecuzione della catena di metodi associati ad una opzione, SOLAMENTE
quando si rende necessario il loro valore.
Tuttavia, una volta espanse, mantengono il loro valore fino al termine
dell'esecuzione della catena di metodi.
Esempio:
;.GET DEPARAM DIRCMD
Esegui DE::RUN DE $(DEPARAM)::SET DIRCMD::SYSP ECHO Parametri: $(DEPARAM)
^ ^
Qui DEPARAM viene espanso |
Il SET non ha influenzato DEPARAM
8) ;.INCLUDE nomefile
Apre nomefile e lo processa prima di proseguire con il file corrente.
9) ;.READ ID nomefile, offset, length
Associa ad ID la stringa di lunghezza len che inizia ad offset in nomefile,
troncata a 1024 caratteri, se più lunga.
Una macro di questo tipo è detta CARICABILE: le macro caricabili sono espanse
durante l'esecuzione della catena di metodi associati ad una opzione, SOLAMENTE
quando si rende necessario il loro valore.
Tuttavia, una volta espanse, mantengono il loro valore fino al termine
dell'esecuzione della catena di metodi.
Esempio:
;.READ P param.txt, 0, 30
Esegui DE::RUN CYP95 $(P)::SYS ECHO >param.txt::SYSP ECHO $(P)
^ ^
Qui P viene espanso |
L'azzeramento di param.txt
non ha avuto effetto su P
10) ;.NEWPAGE [titolo]
Inizia una nuova pagina con la prossima opzione; SZ-MENU permette di avere al
massimo 99 pagine per menu. Se si specifica un nuovo titolo, la pagina
successiva e tutte le seguenti avranno quel titolo.
11) ;.SAVE nomefile [posizione]
Salva/ricarica l'ultima selezione su/da nomefile, all'offset posizione. Qualora
la posizione non sia specificata, assume 0 (primo byte).
É possibile utilizzare lo stesso file di menu per il salvataggio dell'ultima
selezione, ad esempio utilizzando come prime due righe del file menu quanto
segue:
;___<- Ultima selezione
;.SAVE file.mnu 2
Si rammenti che ogni salvataggio occupa due bytes.
12) ;.SELECT valore, valore, ...
Permette di definire i valori (separati da virgole) per le varie voci (colori,
pattern, sfondo, ombre, scoreboard, mouse, modo video, hotkeys, riga
istruzioni); si veda più avanti la descrizione dell'opzione /D.
In alternativa, attraverso la direttiva SELECT è possibile stabilire il valore
di un singolo parametro, utilizzando la sintassi:
;.SELECT <nome_parametro> <valore>
I valori da specificare sono quelli riportati nella schermata di configurazione
interattiva; i nomi dei parametri sono indicati prima dei possibili valori,
nella seconda riga della medesima schermata, e nella tabella seguente:
VMODE modo video
EXTFG colore testo sfondo
EXTBG colore secondo piano sfondo
BOXFG colore testo box
BOXFRAME colore cornice box
BOXBG colore secondo piano box
TITLEFG colore testo titolo
HILITEFG colore testo in evidenza
HILITEBG colore secondo piano in evidenza
POPFG colore testo pop up
POPFRAME colore cornice pop up
POPBG colore secondo piano pop up
POPGETFG colore testo get in pop up
POPGETBG colore sfondo get in pop up
SBUTFG colore testo pulsante evid.
SBUTBG colore sfondo pulsante evid.
UBUTFG colore testo pulsante normale
UBUTBG colore sfondo pulsante normale
NPADFG colore testo notepad
NPADFRAME colore cornice notepad
NPADBG colore sfondo notepad
SCOREFG colore testo scoreboard
SCOREBG colore secondo piano scoreboard
SCOREBOARD posizione scoreboard
PATTERN pattern per lo sfondo
FRAMES tipo cornice box
SHADOW tipo ombra box
HOTKEYS hotkeys
INSTLINE linea istruzioni
FASTMOUSE fast mouse reset
JOYSTICK joystick
SAVER screen saver
13) ;.VIDEO [0|1|2|3]
Seleziona il modo video da usare (0=attuale, 1=80x25, 2=80x43, 3=80x50).
14) ;.HOTKEY tasto ::metodo [::metodo..]
Associa al tasto indicato una catena di metodi; gli hot keys così definiti sono
del tutto indipendenti dai tasti di selezione delle opzioni e non devono essere
confusi con essi. Si può pensare a questa direttiva come ad un metodo per
inserire un'opzione senza averla visualizzata a video.
Gli hot keys sono pre-processati nei tasti di navigazione standard e nei tasti
di selezione, che quindi non possono essere ridefiniti (un'eccezione è
rappresentata dai tasti di selezione A-Z, 0-9, F1-F12, che possono essere
ridefiniti purché non impiegati nel menu).
Il codice del tasto deve essere espresso in decimale; i valori da utilizzare si
possono ottenere lanciando 'GETCH ?'.
I tasti alfabetici eventualmente utilizzati sono insensibili alle maiuscole;
quindi:
;.HOTKEY 65 ::OSD 0,Hai premuto A!
e
;.HOTKEY 97 ::OSD 0,Hai premuto A!
sono funzionalmente identici; sia premendo 'a' che 'A' si otterrà il medesimo
risultato.
Ad ogni opzione si può associare una scritta da stampare sullo scoreboard (prima
o ultima riga dello schermo), separandola dal testo dell'opzione con il token
"<>", ed un identificatore di notepad (massimo 256 pagine di 456 bytes),
separandolo dall'opzione o dallo scoreboard con il token "><".
Esempio:
opzione<>scoreboard><idnotepad::metodo1::metodo2..
opzione><idnotepad<>scoreboard::metodo1::metodo2..
Per ricordare più facilmente i token che contraddistinguono gli scoreboard ed i
notepad, si utilizzi la seguente guida mnemonica:
scoreboard - visibile all'esterno - simbolo aperto: <>
notepad - invisibile all'esterno - simbolo chiuso: ><
Solo i primi 12 bytes di idnotepad sono significativi; inoltre, idnotepad è
case-unsensitive. Specificando lo stesso idnotepad per più opzioni, si avrà un
unico notepad condiviso. I notepad sono salvati in un unico file con lo stesso
nome del menu ed estensione ".AUX"; il file menu non potrà mai avere, dunque,
tale estensione. Nel caso in cui si cambino
gli idnotepad, le informazioni nel file ausiliario corrispondenti ai vecchi
identificatori diverranno inaccessibili; per eliminare tali informazioni, si
esegua SZ-MENU sul file menu con l'opzione /U: il vecchio file ausiliario sarà
rinominato in ".BAK" e verrà creato un nuovo file ".AUX" con solo le
informazioni accessibili. Tale procedura di aggiornamento provvede anche ad
eliminare i notepad divenuti vuoti successivamente ad un primo salvataggio
significativo (cioè non completamente vuoto).
I tasti attivi nel notepad sono:
Frecce sposta cursore
PgDn /PgUp cambia pagina
Home inizio riga
End fine riga
Ctrl-Home inizio buffer
Ctrl-End fine buffer
Alt-E fine della parola editata
Alt-Z porta a capo la parola al cursore
Ins sovrascrittura/inserimento
Canc cancella carattere al cursore
Backspace cancella carattere precedente
Ctrl-Y cancella riga
Alt-C cancella tutto
Alt-S checkpoint
Alt-L ripristina all'ultimo checkpoint
Alt-B mostra/nasconde paragrafi
Alt-P stampa il buffer su LPT1
Alt-W salva il buffer ed esce
Esc abbandona editing
Mouse sx riposiziona cursore
Mouse dx abbandona editing
Ogni volta che si effettua un checkpoint viene creata una copia del contenuto
del buffer in quel momento, che può essere successivamente recuperata se l'editing
successivo non risulta soddisfacente.
I contrassegni di paragrafo determinano come il testo viene formattato qualora
si introduca o si cancelli una riga: per visualizzarli, si utilizzi ALT-B.
Se ci si trova posizionati all'ultima pagina, premendo PgDn verrà richiesto se
si desidera aggiungere una pagina; confermando con 'S', passerete ad editare la
nuova pagina. Non è possibile aggiungere una pagina se l'ultima è vuota;
inoltre, ad ogni cambio di pagina viene salvato il buffer attuale.
Per avere la lista dei tasti utilizzabili in ogni punto del programma, si prema
la combinazione di tasti ALT-H.
L'eventuale catena di metodi va sempre specificata dopo lo scoreboard.
Se nessun metodo è specificato, la selezione comporta l'uscita con livello di
errore pari al numero d'ordine dell'opzione. Una catena di metodi su una riga
isolata viene associata alla pressione del tasto Esc.
I metodi riconosciuti da SZ-MENU sono:
1) ::EXIT n
La selezione dell'opzione comporta l'uscita con impostazione del livello di
errore a n (bypassa l'impostazione standard - vedi sotto).
2) ::MENU menu.mnu [/Px] [/Snomefile] [/Dn]
Passa al menu indicato, che rimpiazza completamente il menu attuale.
4) ::OVL stringa
Come il metodo ::RUN, ma il processo figlio sostituisce in memoria il menu ed al
termine si ritorna alla shell del Dos. É il metodo che rende disponibile la
maggiore quantità di memoria.
5) ::RUN stringa
::RUNP stringa
::RUNW stringa
::RUNWP stringa
Esegue il comando contenuto in stringa, con gli eventuali parametri indicati.
Solo file COM ed EXE possono essere eseguiti con questo comando; se, inoltre,
essi non figurano nel path, l'intero percorso deve essere specificato. In
stringa possono essere contenuti ID da espandere, che vanno specificati con la
sintassi $(ID).
Quando termina il processo lanciato, si ritorna nel menu. La variante P comporta
la pressione di un tasto da parte dell'utente al termine del processo lanciato
prima di tornare al menu.
La variante W swappa il menu fuori dalla memoria prima dell'esecuzione del
processo figlio; a tale fine viene utilizzato, nell'ordine, quanto segue:
- memoria XMS (se disponibile);
- memoria EMS (se disponibile);
- memoria estesa (se disponibile);
- disco: la prima directory disponibile fra:
- il contenuto della variabile ambiente SWAPDIR;
- il contenuto della variabile ambiente TEMP;
- il contenuto della variabile ambiente TMP;
- la directory corrente.
Se è necessario utilizzare pipe o redirezioni, utilizzare ::SYSxx, come pure in
quei casi nei quali il programma non funziona correttamente lanciato con ::OVL o
::RUNxx.
6) ::SET env_var stringa
::SETX env_var stringa
Imposta la variabile di ambiente env_var a stringa; se lo spazio di ambiente è
insufficiente, SZ-MENU segnala un errore.
La variante X comporta l'uscita dopo l'impostazione della variabile.
Viene modificato sia l'ambiente del processo corrente che l'ambiente del
processo padre.
7) ::SYS stringa
::SYSP stringa
::SYSX stringa
::SYSW stringa
::SYSWP stringa
::SYSWX stringa
Come il metodo ::RUN, ma permette di eseguire anche file batch e comandi interni
di MS-DOS. Tuttavia, eventuali errori non sono segnalati e per il processo
figlio è disponibile una quantità minore di memoria. La variante X comporta
l'uscita al termine del processo figlio; vedere la descrizione dei metodi ::RUNxx
per le varianti W e P.
8) ::WRITE nomefile, offset, len, stringa
::CWRITE nomefile, offset, len, stringa
Scrive i primi len caratteri di stringa su nomefile, a partire da offset; se il
file non esiste, viene creato; se esiste, viene sovrascritto il suo contenuto,
limitatamente alla porzione interessata dall'operazione. Se len è superiore alla
lunghezza di stringa, i caratteri in più sono impostati a spazio.
Il metodo CWRITE differisce da WRITE unicamente per il fatto che stringa può
contenere costanti C-Like.
9) ::KFLUSH
Svuota il buffer di tastiera; di norma, il buffer di tastiera è azzerato solo al
termine della catena metodi; con questo metodo, si può forzare lo svuotamento in
qualsiasi punto.
10) ::IF [NOT] [EL [op n] | [exp] | EXIST
pathname] ::metodo [::metodo..] ::ELSE ::metodo [::metodo..]] ::FI
Esegue una o l'altra catena di metodi a seconda del risultato logico
dell'espressione; le espressioni possibili sono:
EL vera se EL è diverso da 0, falsa se EL == 0
EL op n vera se sussiste la relazione numerica indicata
[exp] valore riportato da test
EXIST pathname vera se pathname è un file o una directory esistente
eventualmente precedute da NOT, che inverte il valore logico; op può essere =,
==, !=, >=, <=, > o <; = e == hanno identico significato.
L'espressione fra le parentesi quadre è la stringa di comando per il comando
esterno TEST, che si dovrà trovare nel path e provvederà ad impostare il livello
di errore Dos ad 1 se l'espressione è falsa, a 0 se l'espressione risulta vera.
Si tenga presente che EL è impostato a 0 dopo l'esecuzione dei metodi MENU e
SYSx, oppure al livello di errore impostato all'uscita dai processi eseguiti con
RUNx.
I metodi IF possono anche essere nidificati, con massimo 10 IF annidati.
Per una migliore leggibilità si consiglia di suddividere la catena metodi su più
righe e di utilizzare una opportuna indentazione.
Poiché l'espansione delle macro ASK, CHOOSE, DECLARE e PATH è effettuata sempre
prima della valutazione della catena metodi, anche le macro presenti nei rami
non eseguiti verranno comunque valutate; ad esempio, selezionando l'opzione
seguente la macro NOMEDIR verrà richiesta indipendentemente dal fatto che il
file corrispondente alla macro
NOMEFILE sia o meno esistente:
;.PATH NOMEFILE +pw
;.PATH NOMEDIR +pdw
Stampa SI se file e dir esistenti, NO altrimenti ||
::IF EXIST $(NOMEFILE) ||
::IF EXIST $(NOMEDIR) ||
::SYSP ECHO SI ||
::ELSE ||
::SYSP ECHO NO ||
::FI ||
::ELSE ||
::SYSP ECHO NO ||
::FI
La chiusura "::FI" può essere omessa se si trova alla fine della catena metodi,
come nel caso seguente:
Visualizza il file indicato, se esiste ||
::IF EXIST $(NOMEFILE) ||
::SYSP TYPE $(NOMEFILE) |MORE
11) ::OSD timeout, testo
Visualizza testo in una nuova finestra a centro schermo, finché l'utente non
preme un tasto del mouse, del joystick o della tastiera o finché non scade il
timeout. Se timeout == 0, è necessario l'intervento dell'utente per chiudere la
finestra.
E' possibile associare più metodi ad una stessa opzione, ad esempio:
;.define FILE testo.txt
;.define EXTRACT ::RUN pkunzip ARC.ZIP $(FILE)
;.define VIEW ::RUN list $(FILE)
;.define DELETE ::SYS del $(FILE)
;
Opzione 1$(EXTRACT)$(VIEW)$(DELETE)
;
I metodi sono eseguiti in sequenza fino al primo ::OVL, ::EXIT, ::MENU, ::SYSX,
::SYSWX, ::NOP, ::SETX o all'ultimo metodo specificato.
L'esempio precedente può essere generalizzato utilizzando la parametrizzazione
delle macro, in questo modo:
;.define EXTVIEWDEL ::RUN pkunzip %2 %1::RUN
list %1::SYS del %1
;
Opzione 1$(EXTVIEWDEL: testo.txt, ARC.ZIP)
;
La seguente tabella riassume la disponibilità di memoria e le situazioni nelle
quali utilizzare i vari metodi di esecuzione:
::OVL | ::RUNxx | ::SYSxx | |
Memoria per processo figlio | Massima | Media | Media/bassa |
Tipo file | COM e EXE | COM e EXE | COM, EXE, BAT e comandi interni |
Rientro in menu | NO | SI | SI/NO |
Utilizzando le varianti W per ::RUNxx e ::SYSxx la memoria
disponibile è molto maggiore; andrebbero quindi sempre utilizzate, quando
possibile.
Per lo swap, SZ-MENU utilizza le routine SPAWNO di Ralf Brown.
Nel caso un file batch sia eseguito con frequenza, si consideri la possibilità
di compilarlo in un file COM (esistono numerosi programmi shareware a tale
scopo). Se il processo figlio richiede la massima disponibilità di memoria, si
utilizzi sempre OVL. Un'altra alternativa, naturalmente, è quella di non
utilizzare le funzioni di esecuzione built-in di SZ-MENU, ma di settare
opportunamente il livello di errore ed in base a quello decidere l'applicativo
da lanciare attraverso un file batch.
Se una riga inizia con un metodo, tale metodo viene associato alla pressione del
tasto Esc.
Di default, se l'utente preme ESC il programma esce settando il livello di
errore a 200, mentre la selezione di un'opzione comporta l'impostazione del
livello di errore al numero d'ordine dell'opzione (da 1 al numero di opzioni
specificate nel menu).
L'opzione /D permette di selezionare una delle 10 combinazioni predefinite per
le impostazioni ed i colori (la combinazione 0 equivale ai colori di GO-MENU
(r)).
Con l'opzione /C[onfigure], è possibile modificare tali parametri con i valori
che si desidera siano utilizzati di default dal programma.
All'interno della configurazione, i tasti PagUp e PagDown permettono di
selezionare la voce da modificare ed i tasti + e - di modificarla, nel modo
seguente:
Voce | Descrizione | Valori |
1 | modo video | 0 = startup 1 = 80x25 2 = 80x43 3 = 80x50 |
2 | colore testo sfondo | 0-15 |
3 | colore secondo piano sfondo | 0-15 |
4 | colore testo box | 0-15 |
5 | colore cornice box | 0-15 |
6 | colore secondo piano box | 0-15 |
7 | colore testo titolo | 0-15 |
8 | colore testo in evidenza | 0-15 |
9 | colore secondo piano in evidenza | 0-15 |
10 | colore testo pop up | 0-15 |
11 | colore cornice pop up | 0-15 |
12 | colore secondo piano pop up | 0-15 |
13 | colore testo get in pop up | 0-15 |
14 | colore sfondo get in pop up | 0-15 |
15 | colore testo pulsante evid. | 0-15 |
16 | colore sfondo pulsante evid. | 0-15 |
17 | colore testo pulsante normale | 0-15 |
18 | colore sfondo pulsante normale | 0-15 |
19 | colore testo notepad | 0-15 |
20 | colore cornice notepad | 0-15 |
21 | colore sfondo notepad | 0-15 |
22 | colore testo scoreboard | 0-15 |
23 | colore secondo piano scoreboard | 0-15 |
24 | posizione scoreboard | 0 = niente scoreboard 1 = bassa 2 = alta |
25 | pattern per lo sfondo | 0 = nessuno 1-35 = vari pattern |
26 | tipo cornici | 0 = nessuna 1 = singola 2 = doppia 3 = puntini |
27 | tipo ombra | 0 = nessuna 1 = a sinistra 2 = a destra |
28 | tipo hotkeys | 0 = default 1 = tasti funzione 2 = caratteri alfanumerici 3 = nessuno |
29 | tipo istruzioni | 0 = inattiva 1 = attiva 2 = compatta |
30 | fast mouse reset | 0 = inattivo 1 = attivo |
31 | joystick | 0 = inattivo 1 = attivo |
32 | screen saver | 0 = inattivo 1 = 30 secondi 2 = 60 secondi 3 = 90 secondi 4 = 120 secondi 5 = 150 secondi 6 = 180 secondi |
T2T sorgente [/n] [/A] [/Cxy] [/Ddest] [/K] [/Q] [/X]
Trasforma file di testo da/verso i formati Dos/Windows,
Macintosh, Unix sostituendo opzionalmente tabulazioni e vocali accentate.
Il parametro /n specifica l'intervallo di tabulazione per la conversione delle
tabulazioni in spazi (default: una tabulazione ogni 8 spazi); specificando il
valore 0 le tabulazioni non saranno eliminate.
Il parametro /A converte le vocali accentate in vocali seguite da accento e
viceversa (solo nelle trasformazioni da/verso Dos).
Il parametro /C forza la conversione da x (sorgente) a y (destinazione); x/y =
D, M o U (Dos, Macintosh, Unix).
Per convertire da Dos a Latin 1 (e viceversa) utilizzare /CDW e /CWD.
Se si desidera mantenere il nome originale ai file convertiti, usare il
parametro /K congiuntamente al parametro /D (specificando una directory DIVERSA
da quella in cui si trovano i sorgenti). Il parametro /Q elimina la
visualizzazione dei messaggi a video, sebbene i messaggi di errore vengano
comunque mostrati.
Il parametro sorgente ammette più wildcard * e ?; il parametro /X esclude il
confronto con i nomi lunghi (solo sotto Windows).
La destinazione, se il parametro /K non è stato specificato, avrà lo stesso nome
della sorgente ed estensione stabilita in base al formato del file risultante:
Unix -> .UNX
Dos -> .DOS
Macintosh -> .MAC
Latin 1 -> .WIN
Se non è stata richiesta esplicitamente alcuna conversione, il programma
determinerà il tipo di ciascun file corrispondente alla specifica di sorgente e
richiederà all'utente in quale formato trasformarlo; i file riconosciuti come
binari sono automaticamente ignorati. Nel caso in cui un file consista di una
sola riga (paragrafo), esso verrà probabilmente indicato come binario e quindi
ignorato; per processarlo, specificare esplicitamente il tipo di conversione
richiesta.
TEST {--verbose} [ expr ]
TEST {--verbose} expr
TEST {--help, --version}
Test esce impostando il livello di errore a 0 se expr è
vera, a 1 altrimenti. Le espressioni possono essere negate premettendo '!',
legate logicamente con '-a' (AND) e '-o' (OR) e raggruppate tra ( parentesi ).
Le parentesi '[' e ']' di expr sono opzionali; le parentesi vanno sempre
separate dai parametri con uno spazio (prima e dopo).
Le espressioni possono essere unarie o binarie. Le espressioni unarie sono
spesso utilizzate per esaminare lo stato di un file; ci sono anche operatori per
stringhe e confronti numerici.
-e pathname
Vera se pathname esiste (file o directory)
-f file
-r file
Vera se file esiste ed è regolare (NON è una directory)
-d directory
Vera se esiste la directory indicata (NON è un file)
-w file
Vera se file esiste, NON è Read-Only ed il disco è scrivibile
-x file
Vera se file esiste ed è eseguibile (EXE, COM, BAT)
-P file
Vera se file esiste, è eseguibile (EXE, COM, BAT) e si trova nel path; se viene
specificato un path, la ricerca non è effettuata nei vari percorsi della
variabile di ambiente; se viene indicata un'estensione, ricerca solo il file
indicato
-L file
Vera se file esiste ed è un link (PIF, LNK)
-s file
Vera se file esiste ed ha lunghezza maggiore di 0
-Z file
Vera se file ha lunghezza zero
-b file
Vera se file esiste ed è speciale a blocchi
-c file
Vera se file esiste ed è speciale a caratteri
-m[n] file
Vera se file esiste ed è stato modificato entro n giorni (default: n = 1)
-? drive Vera se drive è pronto
-! drive Vera se drive è pronto e scrivibile
-^ drive Vera se drive è pronto e supporta i nomi lunghi (Windows)
In tutte queste espressioni, drive può essere x: o un pathname completo; se il
drive non figura nel pathname, viene controllato il drive corrente
-z stringa
Vera se stringa ha lunghezza nulla
-n stringa
stringa
Vera se stringa non ha lunghezza nulla
! expr Vera se expr è falsa
file1 -nt file2
Vera se file1 è più recente di file2 (in base alla data di ultima modifica)
file1 -ot file2
Vera se file1 è più vecchio di file2 (in base alla data di ultima modifica)
file1 -sd file2
Vera se file1 ha la stessa data di file2
file1 -ss file2
Vera se file1 e file2 hanno la stessa dimensione
string1 = string2
Vera se le stringhe sono uguali (confronto insensibile alle maiuscole, senza
spazi iniziali e finali)
string1 != string2
Vera se le stringhe sono diverse
string1 ~ pattern
Vera se string1 soddisfa pattern (pattern è una espressione regolare dove '*'
soddisfa un gruppo di caratteri di lunghezza qualsiasi e '?' soddisfa un singolo
carattere qualunque)
string1 in string2
Vera se string1 è contenuto in string2 (confronto insensibile alle maiuscole,
senza spazi iniziali e finali)
pathname1 x= pathname2
Valore di x Vera se..
f stesso nome file (nome + estensione)
n stesso nome
e stessa estensione
d stesso drive
D stessa directory
p stesso path (drive + directory)
arg1 OP arg2
OP è una delle stringhe seguenti: -eq, -ne, -lt, -le, -gt o
-ge. Questi operatori aritmetici binari ritornano vero se arg1 è rispettivamente
uguale, non uguale, minore di, minore o uguale a, maggiore di, maggiore o uguale
a arg2.
arg1 e arg2 possono essere interi positivi/negativi o le espressioni speciali:
-l stringa lunghezza di stringa
-B file lunghezza di file (in bytes)
Operatori logici:
expr1 -a expr2
Vera se expr1 e expr2 sono entrambe vere
expr1 -o expr2
Vera se expr1 o expr2 (o entrambe) sono vere
Quando SZP TEST è invocato con uno di questi argomenti
come primo parametro fa quanto segue:
--help
Stampa le istruzioni ed esce con il risultato VERO; se nessun argomento viene
passato a TEST, --help viene assunto.
--version
Stampa la versione del programma ed esce con il risultato VERO.
--verbose
Stampa "Vero'' o "Falso'' a seconda del valore dell'espressione valutata; il
livello di errore è impostato anch'esso come al solito.
Differenze/aggiunte rispetto a GNU TEST:
SZP test ha questi operatori unari addizionali:
-m[n] File modificato in n giorni
-? Drive pronto
-! Drive pronto e scrivibile
-^ Drive supporta i nomi lunghi di file (sotto Windows)
-Z file esiste ed ha lunghezza nulla
-P file esiste nel path ed è eseguibile
-B Lunghezza di file in bytes, da utilizzarsi come -l
SZP test ha questi operatori binari addizionali:
s1 in s2 s1 è una sottostringa di s2
s1 ~ s2 s1 soddisfa s2 (s2 espressione regolare)
file1 -sd file2 file1 e file2 hanno la stessa data
file1 -ss file2 file1 e file2 hanno la stessa dimensione
pathname1 x= pathname2 confronta componenti del path
SZP test ha l'opzione addizionale:
--verbose
stampa il valore logico dell'espressione come stringa
Operatori mancanti da SZP test, a causa di differenze del sistema operativo:
-g file file è set-group-id
-k file file ha il suo ``sticky'' bit impostato
-p file file è una pipe
-S file file è un socket
-t [fd] fd è aperto su un terminale
-u file file ha il set-user-id bit impostato
-O file file è posseduto dall'id effettivo dell'utente
-G file file è posseduto dall'id effettivo del gruppo
file1 -ef file2 file1 & file2 hanno gli stessi numeri di dispositivo/inode
Eccetto gli operatori mancanti (che non hanno significato sotto Ms-Dos) SZP test
è completamente compatibile con GNU test.
TESTDISK [drive:][\\dir\\]file [file..] [/L] [/P] [/V] [/X]
Legge i file specificati e tutti i file sottostanti al
path indicato, stampando i nomi dei file con errori di lettura.
Un tasto qualunque arresta momentaneamente la ricerca, ESC la fa terminare.
Il parametro /P causa l'arresto ad ogni fine pagine; /X evita il controllo della
corrispondenza delle espressioni regolari indicate con i nomi di file lunghi di
Windows; /L usa il minuscolo nella stampa dei pathname corrispondenti ai file
difettosi; /V stampa i nomi lunghi (solo sotto Windows).
I parametri /L, /V, /P e /X possono venire pre-impostati nelle variabili
d'ambiente DIRCMD/DECMD. Per eliminare la pre-impostazione di un parametro, lo
si faccia precedere da un trattino (-).
Solo il primo file può contenere la specifica di drive/directory; tutti i nomi
seguenti sono ricercati nel medesimo ambito.
Tutti i nomi possono contenere * e ? multipli.
WILD [+]file | /n [.s0] [-s1] [:s2] [;s3] [+s4] [Sz:s5] [Xs:r;i] [Ys:r;i] [=] [R] [D[comando]] [A] [$ | !] [O[-][NEDS]] [E[W]] [@dest] [&script] [V] [K] [L] [U]
permette di generare batch file in maniera automatica, per
poter utilizzare le wild card Dos estese anche con quei programmi che non le
prevedono; supporta, inoltre, due contatori interni totalmente configurabili,
costanti C-like, auto-cancellazione dei file generati, selezione della
destinazione e numerose altre opzioni; di default, WILD processa solo file;
specificando il parametro '$' processerà solo le directory, mentre con il
parametro '!' opererà su entrambi; per ogni file/directory che soddisfa la
specifica 'file', scriverà in WILDLST.BAT, generato nella stessa directory dei
file elaborati (oppure in dest, se si specifica il parametro '@'), le stringhe
s1, s2 e s3 nell'ordine indicato dall'utente, previa sostituzione dei seguenti
caratteri:
s1: '_' = spazio, '*' = nomefile, '?' = estensione, '#' = nome + estensione, '$'
= drive+path, '^' = drive (x:), '&x' = valore del contatore X, '&y' = valore del
contatore Y; se non si specifica alcuna s1, il programma ne aggiunge una di
default ('$#')
s2: sequenze di escape, costanti ottali ed esadecimali
All'inizio del file generato, saranno inserite le stringhe s0 nell'ordine
indicato; dopo l'ultimo file processato, saranno aggiunte le stringhe s4
specificate. Anche s0 ed s4 permettono l'utilizzo di sequenze di escape,
costanti ottali ed esadecimali.
Se al posto di 'file' si specifica /n, con n intero positivo, WILD opererà come
se avesse trovato n file; eventuali caratteri ^, $, *, ? e # in s1 saranno
eliminati (espansi a nulla).
É possibile far funzionare WILD anche con un file contenente una lista di
pathname (uno per riga); in questo caso, specificare come primo parametro '+nomefile'.
In tale modalità, un nome viene considerato di directory se termina per '\', di
file altrimenti.
Xs:r;i e Ys:r;i impostano i contatori: s è il valore iniziale del contatore, r è
il valore oltre il quale (o prima del quale, a seconda del segno di i) il
contatore ritorna ad s, i è l'incremento; il contatore X è aggiornato ad ogni
file/directory trovata, il contatore Y ad ogni reset di X.
Sz:s5 fa sì che ogni z file elaborati nel file lista venga introdotta la stringa
s5, la quale può contenere sequenze di escape, costanti ottali ed esadecimali.
Il parametro 'O' ordina i file per Nome, Estensione, Data, dimenSione (- inverte
l'ordinamento).
Il parametro 'R' accoda al file-lista una istruzione per tornare alla directory
dalla quale si è lanciato WILD.
Il parametro 'D' accoda al file-lista una istruzione da eseguire sul file batch
stesso (default: DEL, per cancellare il file medesimo al termine dell'esecuzione
batch).
Il parametro 'E' permette di eseguire il file batch creato direttamente (con
swapping, se 'EW'); eventuali parametri D sono eseguiti direttamente.
Per lo swap, WILD utilizza le routine SPAWNO di Ralf Brown.
Il parametro 'A' appende l'output al file destinazione, se questo esiste.
Il parametro '=' provoca l'uscita alla directory che contiene il file prodotto.
I parametri 'L' e 'U' convertono, rispettivamente, in minuscolo o in maiuscolo
nomi e percorsi dei file.
Il parametro 'V' comporta l'utilizzo dei nomi lunghi di file; il parametro 'K'
esclude il confronto con i nomi lunghi (solo sotto Windows).
Se si utilizza il parametro V, è consigliabile racchiudere i pathname tra
virgolette (sotto Windows, lo spazio è ammesso nei nomi); sulla linea di
comando, utilizzare la sequenza (\42) al posto di (") per evitare suddivisioni
non volute dei parametri.
Il parametro '&' permette di specificare un file script che contiene, una per
riga, i parametri sopraindicati con i quali deve essere eseguito WILD.
Si veda il file ESEMPI.DOC per alcune utili applicazioni di WILD, ed il file
WILD.SCR per informazioni sulla scrittura e l'utilizzo di file script e delle
numerose opzioni del programma.
Versioni |
Utilities per Dos/Windows 9x; prodotto freeware/GNU
General Public License 2.0.
Ultima versione: 1.95 / italiana.
Download |
Scarica EaSZy (versione 1.95 per Dos/Windows)
![]() |
Inizio pagina |