Newsgroup: it.comp.os.os2
Titolo: Batch scelta avvio programma

Dunque...
stavo cercando di realizzare un batch che mi fornisca la scelta tra 2
applicazioni da avviare e per questo ho provato ad usare un comando
simile al choice del DOS che ho trovato qua:
http://www.robvanderwoude.com/choice.php
 
 
Tuttavia ho difficoltà a farlo funzionare correttamente ma credo non
dipenda nemmeno da quel comando ma da altro che non saprei
specificare:
 
ho fatto un banalissimo script di test:
 
-----------------------------------
CHOICE /C:AB /N avvia A o B ?
IF ERRORLEVEL 1 SET VAR=A
IF ERRORLEVEL 2 SET VAR=B
ECHO scelta %VAR%
-----------------------------
 
Il risultato è che se scelgo A tutto bene: erorlevel=1 quindi la
variabile VAR è associata ad A
Se scelgo B ... non funziona: VAR rimane associata al valore A, è come
se non "acchiappasse" l' errorlevel=2
 
Se invece invio i comandi singolarmente FUNZIONA
 
allora dopo innumerevoli tentativi ho provato a commentare la prima
riga e se sceglo B effettivamente VAR viene riempita con il valore B
 
Insomma su 2 righe non funge? Mah... non sono una cima ma mi pare un
po' strana sta cosa oppure, nella mia ignoranza, c'è qualcosa che mi
sfugge... chesso'... (la butto a caso) qualche variabile d' ambiente
che mi sballa l' interpretazione degli script... BOH
quasiasi suggerimento è il benvenuto

 quasiasi suggerimento ï¿½ il benvenuto
 
Prova qualcosa di simile..butto giï¿½ lï¿½ che devo scappare:
scelta.cmd
 
/* scelta tra due filemanager, se scegli fc lo esegue, altrimenti in 
automatico ti lancia mc.cmd, se il comando ï¿½ un'altro eseguibile non 
usare CALL, ma solo il comando */
say 'inserisci il comando per avviare un file manager'
pull comando
if comando=fc then
fc.exe
else
CALL 'mc.cmd'
 
Ciao

 Ciao
 
niente...
errore alla riga 6


 
Hai tolto la procedura CALL con tutte le ' ' ?, quella si usa per 
riferirsi ad un'altro script, nel mio caso con mc.cmd io imposto prima 
le variabili di ambiente del programma (MCLIBPATH, TERMCAP etc. etc.) e 
poi eseguo l'applicazione, tu non credo ne abbia bisogno, un file 
manager ï¿½ stata la prima cosa che mi ï¿½ venuta in mente :-)
per intenderci, supponendo che i due eseguibili siano in path, questo 
dovrebbe essere il contenuto del file scelta.cmd:
 
/* scelta tra due filemanager, se scegli fc lo esegue, altrimenti come 
scelta alternativa esegue mc */
 
say 'inserisci il comando per avviare un file manager'
pull comando
if comando=fc then /*analisi della scelta*/
fc /* esegue file commander */
else
mc /* altrimenti esegue midnight commander */
 

 mc /* altrimenti esegue midnight commander */
 
si direi che funziona, se chiamo direttamente l' eseguibile
però non funziona se devo richiamare un altro batch.cmd
come si esegue la concatenazione da un file batch REXX ?
 
Cmq grazie, ci siamo quasi... ;-)


Poichï¿½ CALL ï¿½ sia istruzione rexx che comando batch, lo devi indicare 
limitandolo tra ' ':
se mioscript.cmd contiene comandi batch, devi scrivere 'call mioscript',
le virgolette indicano al rexx che deve richiamare il comando OS/2 CALL 
invece che l'istruzione rexx call. Non ï¿½ il mio caso, infatti mc.cmd ï¿½ 
uno script in rexx che imposta le variabili opportune e poi esegue 
midnight commander, io li uso per non sporcare troppo il config.sys.

 midnight commander, io li uso per non sporcare troppo il config.sys.
 
OKKKK funziona tutto
l' ho leggermente modificato in modo da poter fare 2 scelte effettive:
 
---------------------------------
/* scelta tra due programmi alternativi */
 
say 'inserisci il comando A o B per avviare 2 prog alternativi'
pull comando
if comando=A then /*analisi della scelta*/
'call ae.cmd' /* esegue file commander */
if comando=B then /*analisi della scelta*/
'call ftpbr.cmd' /* esegue file commander */
else
exit /* altrimenti esce */
-------------------------------------------
Entrambi i programmi sono a loro volta chiamati tramite degli script
batch
 
io però volevo arrivare a fare un altra cosa (e ci sono riuscito
grazie ai tuoi preziosi consigli ;-D )
 
siccome ho installato il client e-mail testuale ALPINE
http://www.ecomstation.it/ecsoft2/prog.php?progid=1469&name=Alpine
 for
OS/2&sys=os2+ecomstation
 e poichè volevo acccedere agli hyperlink eventualmente contenuti
nelle e-mail (alpine sebbene testuale offre questa opzione) ho
installato anche LINKS
http://www.ecomstation.it/ecsoft2/prog.php?progid=829&name=Links&sys=os2+ecomstation
 
che offre la possibilità di esssre avviato sia in modalità testuale
che grafica:
 
praticamente ho creato 2 batch (links.cmd e links-g.cmd) che oltre a
richiamare links nelle due modalità, ppssono raccogliere in input
eventuali altre variabili come per esempio un URL
 
In Pratica poi ho creato un ulteriore script che riceve in input una
URL e la passa alternativamente all' uno o all' altro batch a seconda
se voglio visualizzare l' URL in modo grafico o testuale:
 
--------------------------
/* scelta tra la modalità grafica o testuale di LINKS */
 
say 'inserisci il comando A o B per avviare LINKS in modalità Testuale
o Grafica'
pull comando
if comando=A then /*analisi della scelta*/
'call f:\links.cmd %1' /* esegue LINKS in modalità testo */
if comando=B then /*analisi della scelta*/
'call links-g.cmd %1' /* esegue LINKS in modalità grafica */
else
exit /* altrimenti esce */
----------------------------------
 
e uso questo come "tramite" per avviare LINKS nella modalità grafica o
testuale per esplorare gli URL contenuti nel corpo del messaggio...
 
Uso questi programmi (che spero vengano supportati e mantenuti a lungo
anche per OS/2) perchè sono molto veloci veloci e leggeri e su un
vecchissimo PC AMDK6 con poca RAM sono molto comodi e non penalizzano
molto nell' usabilità

 molto nell' usabilitï¿½
 
Non sei il solo ad avere in funzione ancora qualche cariatide, io stï¿½ 
usando con molta soddisfazione due Thinkpad, un a20m vecchio come il 
cucco (PIII 800 e 512mg di memoria) ed un T23 (PIII 1200 1gb di 
memoria), credimi..ï¿½ impressionante vedere come non accusino l'etï¿½ 
quanto a prestazioni, anzi..non sento minimamente la necessitï¿½ di un 
nuovo computer, mai visto niente di simile, con buona pace di windows, 
linux, mac e compagnia bella ;-) !!!

 linux, mac e compagnia bella ;-) !!!
 
Ne convengo, pensa che questo PC ha una quantità di RAM che non arriva
a 512, viaggia con "soli" 384 MB; un tempo il caricamento di programmi
come Staroffice (un applicazione considerata pesante, "bloatware") era
un test, molto empirico, della velocità di un PC: qua si carica in
pochi secondi.
 
la macchina è una delle ultime versioni del cosiddetto SuperSocket7:
1MB Cache di IIlivello, AGP2X, un K6 @550Mhz, HDD UDMA5 ecc. quindi un
HW dotato per gli standard degli anni '90, estremamente obsoleto per
quelli attuali ma l' architettura di OS/2 era pensata e realizzata per
quei tipi di HW; tuttavia con questa accoppiata HW/SW riesco a
navigare bene con SeaMonkey, Firefox ecc. e a vedermi i contenuti
video Flash senza troppi sforzi sebbene a qualità bassa: oggi la
navigazione web, tra contenuti multimediali, quantità di codice da
scaricare e interpretare, Java, .Net ecc. è tra le attività che
maggiormente impegnano un PC., 512MB di RAM cominciavano a diventare
stretti già qualche anno fa...