Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

non riesco a settare variabile d'ambiente da file batch

654 views
Skip to first unread message

Archaeopteryx

unread,
May 22, 2012, 1:32:02 PM5/22/12
to
Ciao NG,

Sono veramente in un vicolo cieco e forse potete aiutarmi
voi. Ho messo su un serverino casalingo che però ha una
"partenza" complicata perché deve montare volumi true
crypt, condividerli eccetera. Ho scritto quindi due batch
ma siccome sono distratto, se anche ho visto che eseguendo
più volte on.bat e off.bat non succede niente, volevo
comunque agire da programmatore bravo e coscenzioso.

Quindi ho pensato di settare una variabile d'ambiente
quando parte on.bat, testando la condizione. Se la
variabile d'ambiente è "on" si salta alla fine. Lo stesso
per "off.bat".

Orbene, ho provato con tutte le sintassi di assegnazione
possibili ma la mia variabile di ambiente non viene mai
modificata dal momento in cui la inizializzo nel pannello
di controllo. Ho controllato con vari "pause" nel batch e
leggendo i valori con "set" in un'altra finestra DOS. Non
accade niente.

Ovviamente sono admin e ho tutti i privilegi. Cosa può mai
essere?

Grazie!

Apx.

Simone Spinozzi

unread,
May 22, 2012, 2:08:46 PM5/22/12
to cor.bonukF...@libero_nomail_.it
On Tuesday, May 22, 2012 7:32:02 PM UTC+2, Archaeopteryx wrote:

> Ovviamente sono admin e ho tutti i privilegi. Cosa può mai
> essere?

Ogni finestra dos è un ambiente separato, non comunicante ed autonomo che non va a modificare le variabili globali, puoi solo impostare variabili locali, quindi non puoi leggere le variabili locali di un ambiente da un altro ambiente.

Devi mettere la variabile che ti interessa in un file che poi vai a leggere.

Archaeopteryx

unread,
May 22, 2012, 3:24:28 PM5/22/12
to
Il 22/05/2012 20:08, Simone Spinozzi ha scritto:
> Ogni finestra dos è un ambiente separato, non
> comunicante ed autonomo che non va a modificare le
> variabili globali, puoi solo impostare variabili
> locali, quindi non puoi leggere le variabili locali di
> un ambiente da un altro ambiente.
>
> Devi mettere la variabile che ti interessa in un file
> che poi vai a leggere.

capito... faccio prima a scrivere un programmino in C ma
giusto per curiosità, manco le variabili di sistema posso
creare e modificare da file batch?

Luca Amicone

unread,
May 22, 2012, 3:38:21 PM5/22/12
to
Il 22/05/2012 21.34.31, pigiando alacremente sui tastini, Archaeopteryx
scrisse:
> manco le variabili di sistema posso creare e modificare da file batch?

No. Come giustamente ti ha detto Simone, ogni batch parte in una "copia"
del sistema "Dos" che vive solo durante l'esecuzione del batch stesso;
tu puoi modificare solo il valore delle variabili d'ambiente di QUELLA
copia, ma non del sistema intero.
Per modificare le variabili d'ambiente si deve intervenire in zone di
memoria che di solito i sistemi da NT in poi non rendono accessibili ai
programmi "user".. :-\
--
Luca Amicone

Archaeopteryx

unread,
May 22, 2012, 4:38:08 PM5/22/12
to
Il 22/05/2012 21:38, Luca Amicone ha scritto:

> No. Come giustamente ti ha detto Simone, ogni batch
> parte in una "copia" del sistema "Dos" che vive solo
> durante l'esecuzione del batch stesso; tu puoi
> modificare solo il valore delle variabili d'ambiente
> di QUELLA copia, ma non del sistema intero. Per
> modificare le variabili d'ambiente si deve intervenire
> in zone di memoria che di solito i sistemi da NT in poi
> non rendono accessibili ai programmi "user".. :-\

.... e per giunta mi attacco al tram. Ho visto la sintassi
per I/O da file nel linguaggio della shell di dos e va
oltre le mie capacità di comprensione, sembra quasi quel
che si vede sotto linux :D

Va be', starò attento a far partire e fermare il
serverino, non ho a quanto pare scelta. E grazie a tutti
delle risposte!

Paperino

unread,
May 22, 2012, 4:54:08 PM5/22/12
to
Archaeopteryx ha scritto:
In qualche resource kit (o era nelle sysinternals ?)
ci dovrebbe essere un'utility a nome SETX.EXE che lo
può fare con lo switch /S. Credo che su Win7 sia già
di default. Perlomeno, nel mio c'è :-), ma con tutta
la roba che ho installato non faccio testo...

Bye, G.

Luca Amicone

unread,
May 22, 2012, 5:19:25 PM5/22/12
to
Il 22/05/2012 23.18.35, pigiando alacremente sui tastini, Paperino scrisse:
> In qualche resource kit (o era nelle sysinternals ?) ci dovrebbe
> essere un'utility a nome SETX.EXE che lo può fare con lo switch /S.

Bravo, grazie, sette più!!
http://technet.microsoft.com/it-it/library/cc755104%28v=ws.10%29.aspx
Che fico anche stasera ho imparato qualcosa..
--
Luca Amicone

Paperino

unread,
May 22, 2012, 5:59:46 PM5/22/12
to
Luca Amicone ha scritto:
> Paperino scrisse:
>> In qualche resource kit (o era nelle sysinternals ?) ci dovrebbe
>> essere un'utility a nome SETX.EXE che lo può fare con lo switch /S.
> Bravo, grazie, sette più!!
> http://technet.microsoft.com/it-it/library/cc755104%28v=ws.10%29.aspx
> Che fico anche stasera ho imparato qualcosa..

Famo sei e mezzo, al massimo sette meno: lo switch era /m.
Comunque meglio di un'insufficienza :-).
Oh, attenzione alla "Nota 2"... tocca concatenare più file
batch, mi sa.

Bye, G.
0 new messages