Sorry if I am Re-opening the same Question again. I want to Run Two Commands
-
D:\cygwin\bin\Test
-
sh app.sh AK-RD 02.20 D:\cygwin\bin\Test_files
Above are the two commands i want to run in the same command prompt Means i have to go inside D:\cygwin\bin\Test Folder and on the same prompt want to run next command
sh app.sh AK-RD 02.20 D:\cygwin\bin\Test_files
The command will look like,
Command:- D:\cygwin\bin\Test>sh app.sh AK-RD 02.20 D:\cygwin\bin\Test_files
How to do this using process Builder in java. Or is there any other way to do this.
String cmd;
cmd = "sh app.sh AK-RD 02.20 D:\\cygwin\\bin\\Test_files";
ProcessBuilder probuilder = new ProcessBuilder( cmd );
probuilder.directory(new File("D:\\cygwin\\bin\\Test"));
Process process = probuilder.start();
This is not Helping me, Even if i change probuilder.directory in the code. I am getting
Cannot run program "'sh app.sh AK-RD 02.20 D:\\cygwin\\bin\\Test_files CreateProcess error=2, The system cannot find the file specified
The error means the system can’t find the file
sh app.sh AK-RD 02.20 D:\\cygwin\\bin\\Test_files.exein the path.This means that
ProcessBuilderinterprets the whole string (including backslashes and spaces and everything) as command name. This is not what you want.Split the command into individual words:
and use
pb.directory()toCDinto the correct directory.Alternatively, put everything into a BAT/CMD script and run that with
ProcessBuilder