This week's book giveaway is in the Jobs Discussion forum.
We're giving away four copies of Soft Skills and have John Sonmez on-line!
See this thread for details.
The moose likes Java in General and the fly likes Exception - Running command line from Java Big Moose Saloon
  Search | Java FAQ | Recent Topics | Flagged Topics | Hot Topics | Zero Replies
Register / Login


Win a copy of Soft Skills this week in the Jobs Discussion forum!
JavaRanch » Java Forums » Java » Java in General
Bookmark "Exception - Running command line from Java " Watch "Exception - Running command line from Java " New topic
Author

Exception - Running command line from Java

Raja Sathci
Greenhorn

Joined: Sep 16, 2005
Posts: 10
Hi,

Below is a code snippet i am using in my program,


String cmd = "set itr="+count;
System.out.println(cmd);
Process p = Runtime.getRuntime().exec(cmd);

When i run the program i get the following exception,

set itr=5
java.io.IOException: CreateProcess: set itr=5 error=2
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
at java.lang.ProcessImpl.start(ProcessImpl.java:30)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:451)
at java.lang.Runtime.exec(Runtime.java:591)
at java.lang.Runtime.exec(Runtime.java:429)
at java.lang.Runtime.exec(Runtime.java:326)
at ReadFile.main(ReadFile.java:39)


Can any one please let me know how to overcome this.
Basically i am trying to set a environment variable from java.

Regards,
Raja
Jesper de Jong
Java Cowboy
Saloon Keeper

Joined: Aug 16, 2005
Posts: 14428
    
  23

The command "set" is not an executable program, it's a built-in command of the command prompt window or shell. So you cannot use it to set an environment variable like this.

What operating system are you using? As far as I know there is no (portable) way in Java to set system-wide environment variables. Note that if you start a program with Runtime.exec(), it will be started in its own environment, and when the program is finished that environment disappears again, and the environment variables that you set in that environment will be gone too.

Have a look at class ProcessBuilder for running executables, in particular the environment() method.

What are you trying to achieve with this?


Java Beginners FAQ - JavaRanch SCJP FAQ - The Java Tutorial - Java SE 8 API documentation
 
I agree. Here's the link: http://aspose.com/file-tools
 
subject: Exception - Running command line from Java