Running a .bat/ .cmd file from Java
<p>I wanted to run a .cmd file from Java. I have something which works for me. Can someone help me understand possible failures of my program. </p>

<pre><code>import java.io.IOException;  

/* 
  How to run a batch .bat or .cmd file from Java? 
  1. I don't want the command window to open up. It should be in background. 
  2. Gracefully destroy any new process created. 
  3. Need to confirm the quality of the program with experts. 
 */  
public class RunBat {  
    public static void main(String args[]) {  
        Runtime run = Runtime.getRuntime();  
        //The best possible I found is to construct a command which you want to execute  
        //as a string and use that in exec. If the batch file takes command line arguments  
        //the command can be constructed a array of strings and pass the array as input to  
        //the exec method. The command can also be passed externally as input to the method.  

        Process p = null;  
        String cmd = "D:\\Database\\TableToCSV.cmd";  
        try {  
            p = run.exec(cmd);  
            p.getErrorStream();  
            System.out.println("RUN.COMPLETED.SUCCESSFULLY");  
        }  
        catch (IOException e) {  
            e.printStackTrace();  
            System.out.println("ERROR.RUNNING.CMD");  
            p.destroy();  
        }  
    }  
}  
</code></pre>

<p>Is my solution reliable? How can I make sure that once the .cmd is execute there is no processes hanging around. </p>

<p>Thanks.</p>
