Gamaliel Isaac

Greenhorn
+ Follow
since Jun 25, 2011
Cows and Likes
Cows
Total received
0
In last 30 days
0
Total given
0
Likes
Total received
0
Received in last 30 days
0
Total given
0
Given in last 30 days
0
Forums and Threads
Scavenger Hunt
expand Ranch Hand Scavenger Hunt
expand Greenhorn Scavenger Hunt

Recent posts by Gamaliel Isaac

It was a big mistake on my part. I used the method described in the article and it worked.
8 years ago
I did look at it and I didn't test all its recommendations because I didn't think they would help but I'll take another look
8 years ago
Henry, I commented out echo off in the bat file and still got the same error message without more text. It's possible that the reason for that is that the bat file is calling another file. The file is complicated and hard to understand.

I did try something else I called the bat file with all it's parameters inside another bat file and then called that bat file from runtime.exec() That is working now. To use this approach I will have to use java to create a bat file each time containing the parameters I want.

Even though this is working I am very confused about this.
8 years ago
The only message I got was regarding usage and I know my usage is correct because it works on the command line.


DEBUG_MODE=d|' ' (current: )

Usage: StartSimEnv [-h [env] -D -T -d -config -close [forced] -outFil -remote -A
utoStart -w <sec> -noPause -rd]
8 years ago
Ulf I read that article already but it didn't help. Thanks anyway.
8 years ago
I can't get runtime.exec to execute a program in Java. I am trying to execute a bat file. I read that in order to run bat files as opposed to .exe files the runtime command has to include "cmd /c start" before the name of the bat file. I have run bat files successfully this way before.

The command that I am running works when typed from the command line. It is:

z:/n4/pkg/MrServers/MrVista/Simu/StartSimEnv.bat -AutoStart GOLD_256x512.dat

When I try the following code:

File file = new File(imageDir);
cmd = "C:\WINDOWS\system32\cmd /c start "+simDir+"StartSimEnv.bat -AutoStart " + imageName;

IJ.log("cmd = " + cmd);

Runtime runtime = Runtime.getRuntime();

try{
Process proc = runtime.exec(cmd,null,file);
}
catch(Exception e)
{
IJ.log(e.toString());
}

StartSimEnv.bat file gives a message about the usage being wrong as if I'm giving the wrong parameters. If I delete imageName from the cmd string it doesn't complain about usage but doesn't do the task I want it to do.

I tried putting the parameters in an array as follows:


File file = new File(imageDir);
String[] cmdArray = {cmdPath, "/c", "start",simDir+"StartSimEnv.bat","-AutoStart",imageName};

IJ.log("cmdArray = " + cmdArray[0] + " " + cmdArray[1] + " " + cmdArray[2] + " " + cmdArray[3] + " " + cmdArray[4] + " " + cmdArray[5]);
Runtime runtime = Runtime.getRuntime();

try{
Process proc = runtime.exec(cmdArray,null,file);
}
catch(Exception e)
{
IJ.log(e.toString());
}

I still get a message about usage.
I have made efforts with process builder also but can't get that to work either. Does anyone have any ideas why this isn't working?

8 years ago