Welcome!

By registering with us, you'll be able to discuss, share and private message with other members of our community.

SignUp Now!

volatile variable

Oct
356
2
Hello - I am not sure if this is an error -- if not I would apprecaite some
advice on how to get it to work


I start tcmd, which in turn start tcc. I have a tcstart.cmd file, and one of
the items in the file is to set a volatile variable, ie


set /e /v foo=1


I then have code in the tcstart.cmd file to check to see if "foo" variable
exists and has been set. What I am seeing is that when I create a new tcc tab,
it does not see to be picking up that foo has been set -- is this the way this
is supposed to work? Thanks for any help
 
I start tcmd, which in turn start tcc. I have a tcstart.cmd file, and one of
the items in the file is to set a volatile variable, ie

set /e /v foo=1

I then have code in the tcstart.cmd file to check to see if "foo" variable
exists and has been set. What I am seeing is that when I create a new tcc tab, it does not see to be picking up that foo has been sethelp

Not reproducible here. I'd have to see your TCSTART.CMD file to debug it any further. (Are you sure the new TCC is executing your TCSTART?)

You can check the volatile registry entries by starting regedit and looking at HKCU\Volatile Environment.
 
set /e /v foo=1
I don't know what it could be. I use volatile variables in my boot scripts and they work just fine. However, YMMV depending on the version of Windows you're using - especially old versions.
Are you setting foo from a regular Windows GUI session or from a remote CLI session? I found that SET /V foo=1 doesn't work in the latter case. My (quite old) notes say:
:: This script uses SET /V (volatile environment) which returns an error
:: when the user isn't logged into a Windows GUI session.
:: If the user is logging in from a remote CLI session, and the same login
:: is already activated in a Windows GUI, SET /V works; it returns errors
:: if the user is connecting exclusively from a remote CLI session.
 
I see something peculiar:

Code:
v:\> set /v foo
TCC: Not in environment "foo"

v:\> set /v foo=1

v:\> set /v foo
1

v:\> unset /v foo
TCC: Not in environment "foo"

It's the same with /u

Code:
v:\> set /u foo
TCC: Not in environment "foo"

v:\> set /u foo=1

v:\> set /u foo
1

v:\> unset /u foo
TCC: Not in environment "foo"

The registry variables **do** exist.
 
That was Win7. The same thing happens in XP. And

Code:
v:\> which set
set is an internal command

On Thu, 15 Sep 2011 11:16:15 -0400, vefatica <> wrote:

|I see something peculiar:
|
|
|Code:
|---------
|v:\> set /v foo
|TCC: Not in environment "foo"
|
|v:\> set /v foo=1
|
|v:\> set /v foo
|1
|
|v:\> unset /v foo
|TCC: Not in environment "foo"
|---------
|It's the same with /u
|
|
|Code:
|---------
|v:\> set /u foo
|TCC: Not in environment "foo"
|
|v:\> set /u foo=1
|
|v:\> set /u foo
|1
|
|v:\> unset /u foo
|TCC: Not in environment "foo"
|---------
|The registry variables **do** exist.
 
Not reproducible here. I'd have to see your TCSTART.CMD file to debug it any further. (Are you sure the new TCC is executing your TCSTART?)

You can check the volatile registry entries by starting regedit and looking at HKCU\Volatile Environment.

Hello --

Thanks for the reply -- I don't know if it matters, but the OS is xp (with all fixes and sp's) 32 bit -- Since I could not get it to work, I deleted the code and used a file in the %temp dir as an alternative -- What I do remember about the exact code is that the "set" command was not in the tcstart (the tcstart file is tcstart.cmd) file, but a file called profile.btm that it called
 

Similar threads

Back
Top