Newsgroup: it.comp.os.os2
Titolo: CMD root e dir di lavoro

Questa e' un' idea che non so se sia realizzabile ma almeno ci provo:
il CMD di di default punta alla radice delle dir: esiste un modo (es.
variabile d'ambiente) perche' ogniqualvolta avvio una CLI essa punti ad
una dir diversa dalla root?
Preciso che so bene che basta creare un oggetto CMD specificando la dir di
lavoro ma io intendo che lo faccia di default...
Inoltre: e' possibile specificare la dir di lavoro quando si avvia un
programma da CMD e non da un' oggetto ad esso collegato? In altre parole:
la dir di lavoro e' specificabile unicamente all' interno delle
impostazioni di un' oggetto programma o si puo' specificare anche come
variabile o parametro in un batch?
Grazie in anticipo per qualsiasi suggerimento.
-- 
Alessandro
-------------------------------------------
Ubi Maior minor cessat
-------------------------------------------

 variabile o parametro in un batch?
devi avviare il programma da un file batch invece che direttamente 
dall'exe: nel .cmd metti un bel 'cd \la_mia_dir_preferita' e poi lanci
il .exe
-- 
Bye,
	Yuri Dario
/*
 * member of TeamOS/2 - Italy
 * 
http://www.os2power.com/yuri
 * 
http://www.teamos2.it
 */

 wrote:
 >Questa e' un' idea che non so se sia realizzabile ma almeno ci provo:
ma stiamo scherzzzando ?
 >il CMD di di default punta alla radice delle dir: esiste un modo (es.
 >variabile d'ambiente) perche' ogniqualvolta avvio una CLI essa punti ad
 >una dir diversa dalla root?
basta mettere nel campo parametri dell'oggetto prompt dei comandi
(o creare un'altro oggetto)
/K <drive:> & CD <path>
per esempio, supponendo che OS/2 sia installato su C:, ma tuo vuoi
aprire un prompt in F:\HOMEDIR, devi scrivere:
/K F: & CD \HOMEDIR
se il path che vuoi avviare e' gia' nel boot drive
/K CD \HOMEDIR
se poi vuoi anche una finestra con un diverso numero di righe/colonne
/K CD \HOMEDIR & MODE CO80,50
ecc...
 >la dir di lavoro e' specificabile unicamente all' interno delle
 >impostazioni di un' oggetto programma o si puo' specificare anche come
 >variabile o parametro in un batch?
puoi anche usare il comando 'directory' del REXX che ti cambia insieme
drive e path, ma forse e' meglio che spieghi meglio cosa vuoi fare...
--
bye
Alessandro Cantatore
email reply to: acantatore (at: 
tin.it
)


OK
Il problema:
Alcune applicazioni se le lancio dall' oggetto partono senza problemi
pero' vogliono impostata la dir di lavoro come la dir contenente l'
eseguibile/interpretabile: questo problema affligge diversi progs sia PM
che appl. java, in particolare MOzilla, se lo lancio da riga comandi o da
un CMD da problemi es. una volta installai un  modulo XPI e sai dove mi
piazzo' il mozregistry.dat aggiornato? Sulla scrivania (stavo provando un
cmd che temporaneamente stava sulla scrivania), eppure se lancio allo
stesso modo netscape problemi non ne ho (e non credo sia un problema di
libpath); poi io uso smartcache (un proxy in java) che gradirei poter
avviare con un' istruzione CMD, pero' devo avviare il cmd dalla stessa dir
in cui si trovano le classi, hai voglia a inserire nel cmd le istruzioni
che aggiornano il classpath e il path... non mi riconosce piu' la
posizione della struttura di directory che usa come cache... gli unici
modi sono 1) creare un CMD che contiene con il comando CD mi punta prima
nella dir contenente le classi e poi avvia il bytecode con la JVM oppure
2) creo un' oggetto programma che punta ad un CMD ***nella stessa dir***
delle classi java...
non so se mi sono sufficentemente spiegato.


 wrote:
 >Alcune applicazioni se le lancio dall' oggetto partono senza problemi
 >pero' vogliono impostata la dir di lavoro come la dir contenente l'
 >eseguibile/interpretabile: questo problema affligge diversi progs sia PM
 >che appl. java, in particolare MOzilla, se lo lancio da riga comandi o da
 >un CMD da problemi es. una volta installai un  modulo XPI e sai dove mi
 >piazzo' il mozregistry.dat aggiornato? Sulla scrivania (stavo provando un
 >cmd che temporaneamente stava sulla scrivania), eppure se lancio allo
 >stesso modo netscape problemi non ne ho (e non credo sia un problema di
 >libpath); poi io uso smartcache (un proxy in java) che gradirei poter
 >avviare con un' istruzione CMD, pero' devo avviare il cmd dalla stessa dir
 >in cui si trovano le classi, hai voglia a inserire nel cmd le istruzioni
 >che aggiornano il classpath e il path... non mi riconosce piu' la
 >posizione della struttura di directory che usa come cache... gli unici
 >modi sono 1) creare un CMD che contiene con il comando CD mi punta prima
 >nella dir contenente le classi e poi avvia il bytecode con la JVM oppure
 >2) creo un' oggetto programma che punta ad un CMD ***nella stessa dir***
 >delle classi java...
 >non so se mi sono sufficentemente spiegato.
allora qual'e' il problema ?
se ogni programma ha un suo file CMD allora basta che metti all'inizio
X:
CD \WORKPATH
se vuoi usare uno stesso CMD che ti legga la dir di lavoro dal parametro
di avvio, allora conviene usare uno script REXX che con il comando directory
ti cambia sia il drive che la directory
per esempio:
/**/
"@echo off"
parse arg path
call directory path
"SET PATH=NEWPATH%PATH%"
"SET BEGINLIBPATH=NEWPATH\DLL"
"MYAPPL.EXE"
nota come tutti i comandi da passare a CMD.EXE sono racchiusi tra ""


 nota come tutti i comandi da passare a CMD.EXE sono racchiusi tra ""
Anche questo e' interessante.


 wrote:
ciao Ermete
 >Si infatti ma volevo appunto sapere se c'era un'altro modo per non
 >cambiare il workpath corrente e passarglielo solo come parametro... il
 >motivo e' questo:
 >su un PC, OS/2 si avvia con il solo PM e una sessione CMD come Area di
 >Lavoro, tutte le volte che avvio un programma tramite un batch strutturato
 >come l' esempio di cui sopra mi cambia anche la WorkDir corrente della
 >WorkArea, cosa che, per vari motivi, preferirei evitare...
basta avviare i file batch con START o con START CMD /C MYBATCH.CMD <param.>
o se non vuoi aprire un'altra finestra basta avviare un nuovo processore
di comandi nella precedente finestra con CMD /C MYBATCH.CMD
se alla fine di MYBATCH.CMD hai EXIT ritorni automaticamente nel path
precedente
 >avviando il sistema con il solo PM e una sessione CMD come WorkArea, la
 >sessione cli punta di norma alla Dir radice x:\ del drive di boot, non
 >c'e' un modo perche' all' avvio punti invece ad una subdir della radice di
 >una qualsiasi partizione? Esempio
 >invece di X:\ (X = part. di boot)
 >X:\MyDir\
basta che scrivi nel config.sys:
SET RUNWORKPLACE=X:\OS2\CMD.EXE /K CD \MYDIR
nel caso MYDIR sia su un diverso drive dovrebbe funzionare:
SET RUNWORKPLACE=X:\OS2\CMD.EXE /K Y: & CD \MYDIR


,
        @
tin.it
 (Alessandro Cantatore) wrote:
e ho dimenticato anche i comandi SETLOCAL e ENDLOCAL...
vedi nel riferimento per i comandi...



Grandioso!
Poi seguendo i tuoi consigli ho utilizzato anche SETLOCAL/ENDLOCAL per
ogni CMD che mi avvia il particolare programma/processo, direi che
cosi' ho creato qualcosa di equivalente all' avviare un programma
attraverso l' oggetto cui e' collegato ma in realta' e' qualcosa di molto
di piu' perche' per ogni processo posso cambiare "localmente" una marea di
variabili d' ambiente senza doverle mettere nel config.sys;
potenza della command line.
Grazie mille.
