Win a copy of Clojure in Action this week in the Clojure forum!
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic

Exception - Running command line from Java

 
Raja Sathci
Greenhorn
Posts: 10
  • 0
  • Mark post as helpful
  • send pies
  • Quote
  • Report post to moderator
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
Pie
Posts: 15150
31
Android IntelliJ IDE Java Scala Spring
  • 0
  • 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?
 
I agree. Here's the link: http://aspose.com/file-tools
  • Post Reply
  • Bookmark Topic Watch Topic
  • New Topic