Trouble Setting Windows Environment Variables
My environment:
Windows XP Professional
Intellij 6.0.4
JDK 1.4.
I am seeing some very weird behavior when I try to get/set Environment Variables in Windows XP. I use the following code to read the variables:
Process p = r.exec( "cmd.exe /c set" ); I create an environment varialbe through the Windows control panel, and it does not show up when I execute the above command. However, when I close my IDE and reopen it and run the same code, the variable appears. How is this possible? I am using the Windows XP cmd.exe in my program to read the variables. When I open a DOS window and type the same command, my variable is there.
This is driving me crazy.
i want my program to do some work, but then check a system variable to see if it should continue. I want a user to be able to stop processing by setting the environmen variable to true.
Thanks!
Nathan
Runtime.exec has a lot of overloadings. Two of them
allows you to specify the environment variables.
exec
public Process exec(String[] cmdarray,
String[] envp,
File dir)
throws IOExceptionExecutes the specified command and
arguments in a separate process with the specified
environment and working directory.
cmdarray - array containing the command to call and
its arguments.
envp - array of strings, each element of which has
environment variable settings in format name=value.
dir - the working directory of the subprocess, or null
if the subprocess should inherit the working directory
of the current process.
I had this sample program:
public class SetVarExample {
public static void main (String[] args) throws Exception {
String[] cmd_env= new String[] {"password="+"ABCD","Path=C:\\Sun\\AppServer\\jdk\\bin"};
String cmd = "cmd /c SET ";
Runtime.getRuntime().exec(cmd,cmd_env);
System.out.println( "Finish ...." );
I tried it in a command prompt. But looks like when the program exits, it's a whole new process and so it does not retain the env variables set in the java program.
Any suggestions? Am I doing it worng?
thanks
Similar Messages
-
Setting windows environment variables from Java program
Is there any way to set environment variables from Java program in Windows? Any help is appreciated.
Here is my situation:
I need to decrypt an encrypted Oracle user password in a batch file which will be used while running a sql script with sqlplus. I was planning to have bat file which will call a Java program decrypt the password and set it as an env variable in windows which will be available while calling sqlplus.
thanksRuntime.exec has a lot of overloadings. Two of them
allows you to specify the environment variables.
exec
public Process exec(String[] cmdarray,
String[] envp,
File dir)
throws IOExceptionExecutes the specified command and
arguments in a separate process with the specified
environment and working directory.
cmdarray - array containing the command to call and
its arguments.
envp - array of strings, each element of which has
environment variable settings in format name=value.
dir - the working directory of the subprocess, or null
if the subprocess should inherit the working directory
of the current process.
I had this sample program:
public class SetVarExample {
public static void main (String[] args) throws Exception {
String[] cmd_env= new String[] {"password="+"ABCD","Path=C:\\Sun\\AppServer\\jdk\\bin"};
String cmd = "cmd /c SET ";
Runtime.getRuntime().exec(cmd,cmd_env);
System.out.println( "Finish ...." );
I tried it in a command prompt. But looks like when the program exits, it's a whole new process and so it does not retain the env variables set in the java program.
Any suggestions? Am I doing it worng?
thanks -
Setting Oracle environment variable using batch (.bat) file in windows
Hi,
Oracle 9i db
Windows OS
I am in process to create the database (Considered that Oracle9i software is already installed) by running one batch file which consist of all the scripts for the database creation.
But i also want to set the environment variables at MyComputer(right click)>properties>advance>environment, permenently by running the batch (.bat) file
ORACLE_HOME
ORACLE_BASE
ORACLE_SID
So, how can it be done ?
With RegardsHi,
*@echo off*
set ORACLE_SID=iprsdb
set ORACLE_BASE=C:\oracle
set ORACLE_HOME=C:\oracle\ora92
call C:\install_bkp\test_env_var.bat
echo Test Successfull.
Above mentioned is the code written in the batch (.bat) file
In that i have also called another .bat file which test the env. variable values which is as below:
c:\>test_env.bat
===================
Testing oracle sid
===================
iprsdb
=====================
Testing oracle base
===================
C:\oracle
=====================
Testing oracle home
=====================
C:\oracle\ora92
Test Successfull.
But when i checked at MyComputer(right click)>properties>advance>environment variables
there, I saw none of the entries from the above, why so ?
how to set env. variables permanently using the DOS commands. ?
With Regards -
Set DISPLAY environment variable -- in DBCA not working at AIX OS
Hi,
I want to create new database in AIX OS and database is oracle 10g:-
When i say DBCA it is giving below error, what should i do?
$ dbca
DISPLAY not set.
Set DISPLAY environment variable, then re-run.
Please help...Pravin wrote:
How to set the DISPLAY environment variable in AIX?Usual format is:
+<host>:<display-number>+
E.g.
export DISPLAY=192.168.0.235:1
Where the host is the hostname or IP address of the client platform running a X-Server. If the X-Server is running locally, then this entry can be omitted.
The display-number is the display number of the X-Server to use. A single X-Server can have multiple displays. E.g. Unix server running a X-Server can have 10 users connected via X-Terminals and will this have 10 displays.
Judging from X-Windows questions asked on OTN, it seems to be a tad complex to grasp for some - especially those from a MS Windows background as X-Windows is very different and also reverses the client-server concept, requiring the X-Server component to be running on the client platform (where the server platform runs the program that is the X-client).
So it is a lot easier to rather use something like VNC instead - supported on most Unix platforms, Linux, Windows and Apple's OS/X.
Simply run the VNC server on the server platform to create a virtual container for running the X-server display. Connect from a client using a VNC client.
As it uses the RFB (Remote Frame Buffer) protocol, it is a lot faster than running the slower and larger X11 protocol required for X-Windows connectivity over TCP/IP. -
Setting widows environment variable like "path "
I want to set a new value for windows environment variable path. Is there any way to set change the varibale.
You could also use ORA_FFI package to call Windows API function SetEnvironmentVariable. There is an example below.
See also:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/setenvironmentvariable.asp
kernel_lhandle Ora_Ffi.Libhandletype;
GetEnvironmentVariable_fhandle Ora_Ffi.Funchandletype;
SetEnvironmentVariable_fhandle Ora_Ffi.Funchandletype;
FUNCTION ff_GetEnvironmentVariable(
fhandle Ora_Ffi.funchandletype,
lpName varchar2, -- address of environment variable name
lpBuffer varchar2, -- address of buffer for variable value
nSize pls_integer -- size of buffer, in characters
) RETURN pls_integer;
PRAGMA interface( C, ff_GetEnvironmentVariable, 11265 );
FUNCTION ff_SetEnvironmentVariable(
fhandle Ora_Ffi.funchandletype,
lpName varchar2, -- address of environment variable name
lpValue varchar2 -- address of variable value
) RETURN pls_integer;
PRAGMA interface( C, ff_SetEnvironmentVariable, 11265 );
function SetEnvironmentVariable(lpName varchar2, lpValue varchar2) return pls_integer IS
BEGIN
return ff_SetEnvironmentVariable( SetEnvironmentVariable_fhandle, lpName, lpValue );
END;
function GetEnvironmentVariable(
lpName varchar2
) return varchar2 as
lpBuffer char(2000); -- address of buffer for variable value
nSize pls_integer; -- size of buffer, in characters
res pls_integer;
begin
lpBuffer:='*';
nSize:=2000-1;
res:=ff_GetEnvironmentVariable(
GetEnvironmentVariable_fhandle,
lpName,
lpBuffer,
nSize );
if res>0 then
return substr( lpBuffer, 1, res );
else
return null;
end if;
end;
-- Initialization
/* Load the library */
kernel_lhandle:=Ora_Ffi.Load_library
( '', 'kernel32.dll' );
/* GetEnvironmentVariable */
GetEnvironmentVariable_fhandle:=Ora_Ffi.Register_Function
( kernel_lhandle, 'GetEnvironmentVariableA', Ora_Ffi.C_Std );
Ora_Ffi.Register_Parameter
( GetEnvironmentVariable_fhandle, Ora_Ffi.C_CHAR_PTR );
Ora_Ffi.Register_Parameter
( GetEnvironmentVariable_fhandle, Ora_Ffi.C_CHAR_PTR );
Ora_Ffi.Register_Parameter
( GetEnvironmentVariable_fhandle, Ora_Ffi.C_INT );
Ora_Ffi.Register_Return
( GetEnvironmentVariable_fhandle, Ora_Ffi.C_INT );
/* SetEnvironmentVariable */
SetEnvironmentVariable_fhandle:=Ora_Ffi.Register_Function
( kernel_lhandle, 'SetEnvironmentVariableA', Ora_Ffi.C_Std );
Ora_Ffi.Register_Parameter
( SetEnvironmentVariable_fhandle, Ora_Ffi.C_CHAR_PTR );
Ora_Ffi.Register_Parameter
( SetEnvironmentVariable_fhandle, Ora_Ffi.C_CHAR_PTR );
Ora_Ffi.Register_Return
( SetEnvironmentVariable_fhandle, Ora_Ffi.C_INT );
To change the variable PATH you could use something like the following code:
s:=dll_path||';'||WIN32.GetEnvironmentVariable( 'PATH' );
res:=WIN32.SetEnvironmentVariable( 'PATH', s ); -
How to set the Environment Variable
I'm going through a tutorial on how to create an application and run from the command prompt. I have finished installing my jdk 6 Upadate 5 but i don't know how to set the Environment Variable for the javac compiler and the java interpreter to find my program.
I have created an application called "ExampleProgram" and have saved it on drive C:. How do i set the Environment Variable so that the "javac" compiler and the "java" interpreter can find itgyesa_say wrote:
I'm using Windows XP Service Pack 2.A very bad choice to go with Windows. Personally I prefer Linux.
I Google and had several information on how set it, but i tried all of them and none seem to work.I typed "how to set environmental variable in winxp" in Google and the very first link provided all the information I needed (you need). These things will make much more sense if you go through it yourself rather than having someone else spoon-fed you the answer. -
Is Coldfusion able to grab the Windows Environment variables
of the user that is viewing a CF page? I am wondering about reading
the windows username currently logged in on the client machine. I
don't think this is the same as CGI variables.We are running a Novell network. The IIS machine has the
Novell client installed. If the user has not personally logged into
the IIS machine, it will not authenticate them through the CF page.
It worked great if the user already had a profile on Windows. Is
there a way around this besides having users log into the machine,
which really isn't an option?
Suppose I am Average Joe User viewing the site. My own
computer is running the Novell client and I have logged into this,
so therefore windows has a profile for me, and my username is
stored in the Username Environment variable (which is viewable by
typing 'set' in the command prompt). Can CF grab that username
Environment variable off my computer and use it at all? Or is it
all based on the username on the IIS server? -
@variable and Operating system variables (Windows environment variables)
Hi,
Has anyone experience with using @variable and Operating system variables (Windows environment variables)in XI 3.x Web Intelligence ?
Help gives the example of @Variable(NUMBER_OF_PROCESSORS). Even with syntax correction @Variable('NUMBER_OF_PROCESSORS') it does not seem to work.
It works fine for Desktop Intelligence. Environment variables added are read, after restarting DeskI. If already in an existing DeskI session, newly added (unknown) variable names give a prompt with the variable as prompt text as a result. This is the behavior in Web Intelligence, even for environment variables that are always set (like Path, TMP, ...)
Both WebI Rich Client and WebI via Infoview in XI 3.1 and XI 3.1 SP2 show this behavior (prompt instead of @variable behavior)
Are there settings that need to be made? other syntax ?
Is this a DeskI only feature ?
Thanks!
Raf
Edited by: Raf on Oct 30, 2009 3:44 PMHi Abdellatif,
Ok, that would clarify things.
You have an idea if this is documented somewhere?
Reason we ask:the "xi3-1_designer_en" guide, the specification for the @variable function states:
"BusinessObjects system variables. ...
Report variables. ...
Operating system variables. You can enter Windows environment variables in order to obtain information about your installation.
Custom variables. With Desktop Intelligence, you can use a predefined text file to provide a list of fixed variable values."
There's no explicit referal to DeskI only for OS system variables, like there is for custom variables.
Thanks!
Raf -
I'm sure this can be done as I know we used something similiar at my old work place, below is an image showing what I am attempting to do.
We used this to create more portable / shareable assets files which when symbols are linking to code, the code was very often in different directories on different machines.
So we had set up environment variables in the OS to point to source directories and then used these variables in the source paths.
As long as everyone had these variables set up then it would all work.
Anyone know the correct way to do this in Flash CC
Thanks in advance!
Best Wishes
Rhys Thomassinious the problem with doing that is that the changed path gets into the code repository as well, so you wind up with everyone going back and forth changing it to their own value, which is a hassle. If you use relative paths and a standard project setup, then it all "just works" without a problem.
For example, this is the setup I use:
.dev
.thisProject
.Flash1
Flash1.as
.Flash1
Flash1.xfl
.view
.audioAssets
.customViews
.SoundLib
SoundLib.xfl
SoundLib.swc
.bin <swfs are output here
.xml
.core
.control
.model
.service
.view
We have a "base project" that you check out to start a new project (we do heaps of similar work), and the paths are already set up to be relative. Having each project point to its own copy of the core code allows for fine-grained control of which revision you're using--we've even pointed deliberately to old versions or branches on rare occasions.
The bin folder is actually shared with the website repository, which is in a different directory from the Flash source code (in the website, it has a different name). This allows the generated swfs to be easily updated and ensures that the latest XML is being used both for development and on the site.
The "thisProject" folder actually includes a Flash Builder workspace with all the standard shortcuts, etc., already set up. This is primarily because of how the "default path" works when you create a new Flash Pro project in FB. Because we output a level up from the workspace, we hack the .metadata folder every time, but that's a small change. -
How to use windows environment variable "%appdata%" in TEXT_IO built-in
Hello Sir/Madam,
I'm currently using TEXT_IO built-in package to write data file user's "C" drive in Oracle Forms 6i on Windows XP OS. We are in the process of upgrading the OS to Windows7. This new version does not allow to write to "C" or "D" drive. I was wondering how I can use windows environment variable "%appdata%" in this built-in to write the data file to user's AppData folder?
I would appreciate your help.
Regards,
Vani SontiYou are obviously not familiar with the architecture of webforms. See here http://www.oracle.com/technetwork/developer-tools/forms/275632-133265.pdf
I guess you are running your forms locally, so the forms server and the client run on the very same machine. This won't be the case once you run in production, as you will have an application server and clients connecting to the server.
text_io, tool_env and all the forms built ins will be executed on the machine the forms runtime runs on, and in a 3 tier architecture this is the application server, not the client as the real client will run just a java applet which actually just does what the forms runtime on the server tells it to do (or passes client side events like mouse clicks to the forms runtime on the server).
A very simple explanation for the architecture would be that the whole GUI part has been ripped off the forms runtime and put into a java applet; the logic part (the old-fashioned forms runtime) where the whole Forms PL/SQL code is executed communicates with the GUI part (which is implemented as a java applet) via HTTP, so there is no need to have both running on the very same machine.
So if you are writing a file with text_io on c:\dummy.txt this file will be generated on the application server machine as it is executed where the forms runtime runs. If you read environment variables with tool_env.getvar you will get the environment variable from the application server machine.
If you need those variables from your application server then those built-in packages are what you need, but if you need the real client variables there is no way around java in webforms 6i. But the beans should be simple enough to have them written within no time ;)
cheers -
How to include Windows environment variables in e-mail action scheduled task
Hello Support,
Is it possible to include Windows environment variables such as %username% or %computername% in the subject line or body of the "Send e-mail" action item of the Task Scheduler? For example, I would like when I setup a scheduled
task to perform a certain task and send an e-mail message, the email should include either the user name or computer name in the subject line and body of the e-mail. Is that possible?
ThanksHi,
You can create a new Scheduled Task preference item to solve your requirement.
Checkout the below link for more information,
http://technet.microsoft.com/en-us/library/dd851678.aspx
Regards,
Gopi
JiJi
Technologies
I created a scheduled task and that does not provide what I need. The scheduled task will simple send an mail, but I want to know from which machine or user triggered the email. I also tried adding the batch file to the scheduled
task and that did not work even though the scheduled task has the following settings.
User Configuration >> Prefence >> Control Panel Settings >> Scheduled Tasks
When running the task, use the following user account
NT AUTHORITY\System
Run whether user is logged on or not
Run with highest privileges HighestAvailable
Configure for: Windows 7
I also tried with Computer Configurations -
Why do we actuallya need the setting of environment variables?
Hello guys,
I read that, in order to connect to the database via SQL*Plus, we need to have the environment variables set. So, SQL*Plus is a command tool, which doesnt know over which path to connect to db, if the environment variables are not set?
How about the needs of setting environment variables at point of view of MS-DOS? I know that over MS-DOS we can check if the environment variables are already set or not. Or we can actively set the environment variables.
When should we actually set the environment variables? Before we run the GUI or after? I read, that if we set it before we run the GUI, then the setting will be taken over when it comes to that step by running GUI. I am curious, since this would be interesting to know, if we use other version than XE.
Thanks..Oracle's flexibility ... many different versions working the same on many different versions of many different operating systems ... means that a single consistent installation and configuration methodology must work everywhere so as not to have the limitations of other competing products that work on only a single operating system or require that one learn a different syntax and methods for different versions.
Be grateful Oracle is as it is. Your competence in one version and operating system translates into competence in others. -
How to set ORACLE_HOME environment variables in win 2003
Can anyone tell me how to set ORACLE_HOME environment variables in Win2003
Please tell me the significance of that also.It will be really helpful if u can help me out from Path variable seting of JAVA SDK also... Thanks in advance...hi
use this code IN FORMS60 variable in Regedit
\\server\DATA\store\Forms;
Rizwan -
Setting the environment variable
I just installed the rpm for the 1.4 SDK on my RedHat 7.1 box. Does anyone know how I can set the environment variable so it will recognize Java from the command line? Thanks in advance.
You need to set a couple of environment variables in your "profile" script. Which one, exactly, depends on the shell you use. It's probably .profile on your home directory.
Try
JAVA_HOME=/usr/java1.4 (or wherever it really is)
PATH=$PATH:$JAVA_HOME/bin
export JAVA_HOME,PATH -
Setting Linux environment variable
Is there other web site which talks about how to set the environment variable of J2EE for Linux?
I followed this web site
http://www.dougsparling.com/comp/howto/linux_java.html
but after all
when I tired to compile a servlet program... it couldn't be complied. I think the case is that the compiler couldn't find servlet.jar ...
why is that?You have to verify that your CLASSPATH environment variable is set in your account's profile. I use the
bash shell therefore my variables are set in .bashrc
for example my CLASSPATH is set to :
CLASSPATH=.:$J2EE_HOME/lib/j2ee.jar:$J2EE_HOME/lib/locale
Maybe you are looking for
-
Lightroom backups folder. Huge size.
In "My Pictures" is a folder called Lightroom, where all the catalogues and backups are stored. A while ago, I had a major crash on the computer and lost everything on my hard disc. I was able to restore most from my external hard drive. Now, in th
-
hai iI am new to struts. I want to get value in text field from one form to another using cookis in struts, can any one help me?, please...
-
Suspended on agent unreachable
Oracle 10.2.0.3.0 From Enterprise Manager, I am attempting to Create Backup. After I create the job, I receive "Suspended on agent unreachable". When I run emctl status agent, it says, "Agent is running and ready." Short of deleting the agent and rei
-
I have cisco switch cat2900 series XL. In configuration process is on, I was delete the file system in flash directory for clear the password. but, what happen is,I can't boot my switch again.Please help me...send to my mail at [email protected] best
-
First off friends, I am starting from ground zero here, so bear with me! I am soon transitioning to a position in which I would be managing multiple iPads in multiple locations for our medical offices, and the management staff have a small number of