Continuiamo il nostro percorso di apprendimento del REXX esaminando la sintassi della funzione DIRECTORY(), utilizzandola per creare una semplice utility per la riga di comando: un clone del comando CD, che, a differenza di questo, ci permetta di specificare come directory corrente anche una directory collocata su una diversa partizione.
La sintassi di DIRECTORY è piuttosto semplice:
DIRECTORY(newdirectory)Dove newdirectory è il nome della directory che si vuole rendere la directory corrente. Se newdirectory include anche la lettera identificativa di un'unità, tale unità verrà resa l'unità corrente.
Passiamo ora al nostro esempio, chiamato CDD.CMD, cioè Change-Drive-Directory.
/* CDD.CMD * (c) 1996 Alessandro Cantatore * team OS/2 Italia */
arg newDriveDir /* riceve come unico argomento il nuovo percorso */
if newDriveDir = "/H" | newDriveDir = "-H" | newDriveDir = "-?",
| newDriveDir = "/?" | newDriveDir = "?";
then call help; /*se invece del nome del nuovo percorso si introduce */
/* richiesta di help tramite i parametri : /H, /h, -H, */
/* -h, ?, /?, -? viene chiamata la routine "help" che */
/* da all'utente brevi note sull'uso di CDD.CMD */
if newDriveDir = "" then do /* se non viene introdotto alcun argomento, per*/
say directory(); /* coerenza con il comando "CD" viene mostrato */
exit; /* il percorso della directory corrente */
end;
done = directory(newDriveDir); /* se viene introdotto il percorso di una */
if done = "" then do /* nuova directory, viene controllato il */
call beep 880, 300; /* valore restituito dalla funzione: se tale*/
/* valore è una stringa vuota, il percorso */
/* introdotto non è valido, viene emesso un */
/* beep e viene mostrato un messaggio di */
/* errore appropriato */
say " Il sistema non trova il percorso specificato!";
end;
exit;
/* "help()" è una semplice subroutine avente come unico scopo quello di */
/* mostrare alcune brevi note sull'uso di CDD.CMD e terminare il programma */
help:
say;
say " CDD.CMD cambia contemporaneamente unità e directory correnti.";
say " Uso:";
say " CDD unità:\dir\subdir";
say;
exit;
Per usare CDD basta collocarla in una directory menzionata nella direttiva PATH del CONFIG.SYS. Una buona soluzione è creare una directory TOOLS, in cui collocare questa e altre piccole utility, aggiungendone poi il percorso agli altri specificati nella direttiva PATH
| Pagina precedente |
| Home Page |
| Sommario |
|---|