• Post Reply Bookmark Topic Watch Topic
  • New Topic

Exception - Running command line from Java  RSS feed

Raja Sathci
Posts: 10
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator

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

String cmd = "set itr="+count;
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.

Jesper de Jong
Java Cowboy
Posts: 16028
Android IntelliJ IDE Java Scala Spring
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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?
With a little knowledge, a cast iron skillet is non-stick and lasts a lifetime.
  • Post Reply Bookmark Topic Watch Topic
  • New Topic
Boost this thread!