Executing the .bat file under java

Hi,
I have a batch file which will do some useful stuffs
like compilation of jar file, deploying the ejb's under
WebLogic container etc.
I called the batch file under windows environment, it
used to display the console without any processing
on it.But similar stuff with shell script works fine on
Linux OS.
How do I execute the batch file from Runtime?

We use
Runtime.getRuntime().exec("c:\\path\\to\\batch.bat");
If that doesn't work, try "cmd /c c:\\path\\to\\batch.bat".
You might have to capture the output from the process from Java to make sure it works correctly. And yes, the downside is that it will bring up an empty command prompt when you run it under Windows 95,98,Me... not a lot you can do about that, it's avoidable under NT,2K,XP with a bit of trickery though.

Similar Messages

  • Executing a .bat file from java code

    Im writing a utility and i need to be able to create and execute a .bat file from my program. I can create the .bat file fine but when i try to execute it nothing happens. I tried to use the following line of code to try to execute the .bat file (called make.bat) :
    try
    String parameterString = "\"C:\\WINNT\\System32\\cmd.exe\" C:\\ITS_Test\\make.bat";
    Runtime.getRuntime().exec(parameterString);
    catch (Exception e)
    System.out.println(e);
    The Runtime.getRuntime()exec() method worked fine when trying to execute an excel file but for some reason it dosen't want to work for the DOS prompt. Any ideas?

    Thanks everyone for all the replies.
    I have tried all the above with no luck. Im using netbeans, does anyone think that it could be a problem with the IDE.
    I tired the following code :
    String parameterString = "cmd.exe /C \"C:\\ITS_Test\\make.bat\"";
    Process pr = Runtime.getRuntime().exec(parameterString);
    pr.waitFor();
    This code does not throw any exceptions but just hangs. I also tried:
    String [] parameterString = {"cmd", "/c", "C:\\ITS_Test\\make.bat"};
    Process pr = Runtime.getRuntime().exec(parameterString);
    pr.waitFor();
    and:
    String parameterString = "\"C:\\WINNT\\System32\\cmd.exe\" \"C:\\ITS_Test\\make.bat\"";
    Process pr = Runtime.getRuntime().exec(parameterString);
    pr.waitFor();
    with the same result. Does anyone know why it just hangs and nothing happens (no exceptions thrown)?

  • Using FDM can we execute the .bat file

    Hi,
    I am trying to automate the load process, ie I want to load data through FDM into essbase and once the data is loaded I want to run a bat file through which in the essbase the agg scripts will run.
    So Can I write it in the Aftload a script to call the .bat file which has the agg scripts in it.
    Is it possible to do?
    Can anyone help me giving idea to me on this?
    Thanks,

    If i may, i would like some help on this subject.
    i tried both methods and they both work from the WB. but as soon as i tried to use them on the web, nothing happens. i tried to write that in an event or as a stand alone task in task flow but no results
    API.DataWindow.Utilities.mShellAndWait CStr("C:\Hyperion\products\FinancialDataQuality\SharedComponents\export.bat"), 0
    this bat file works as a cmd, a bat in win explorer or in the WB, but i can not seem to find a way to include it in a script that i can use from the web. i tried batch, Importaction,...any suggestion?

  • Where to find out the log file under java developer role

    Hi,
    I have some application created in NWDS. While running it after the PAR deployment and all. some exception is thrown. the exception iD is given.  I was trying to find out wher the log files are located in the portal so that I can analyze the exception.
    I think it is under the java developer role....but under that......I checked the log viewer tool and all.....but exactly where the log files would be located. so that with the exception ID , I can search and find out the log for the particular exception.
    any ideas?
    Thanks in advance.

    Hi Steelman,
    Use the search option in log viewer for this purpose. In the server it would be located in
    <i>usr/sap/sid/jc00/cluster/server0/logs</i>
    Hope this helps.
    Regards
    Bharathwaj

  • How to run Executables or .bat files from Java?

    Hi!
    I need to open a Web Browser from Java App.
    Please, help me to do this without calling JNI
    -or-
    provide me with sample which works with
    Runtime.execute() method.
    I have done full permission:
    grant
         permission java.security.AllPermission "","";
    };Thank You in advance!

    To run any command from java code, the method is
    Runtime.getRuntime().exec( myCommandString )
    Where, myCommandString is something like "/full/pathname/command".
    If the pathname contains spaces, e.g. "c:\program files\windows\notepad", then enclose it in quotes within the quoted string. Or pre-tokenize them into elements of an array and call exec(String[] cmd) instead of exec(String cmd).
    From JDK1.3 there are two new overloaded Runtime.exec() methods. These allow you to specify starting directory for the child process.
    Note, there is a gotcha associated with reading output from commands. When the runtime exec's the process, it passes to it 3 streams, for stdin, stdout, and stderr; the out and err are buffered but the buffer size isn't very big. When your process runs, it reads (if needed) from in, and writes to out and err.
    If it doesn't write more than the buffer-size, it can run to completion.
    But if it tries to write more data to one or the other stream than the buffer can hold, the write blocks, and your process hangs, waiting for you to empty the buffer so it can write some more.
    So after the exec call, get the streams, and read from them in a loop until they both hit end-of-stream (don't block on either one, just read whatever is available from each, each loop iteration).
    Then when the streams have ended, call the process.waitFor() method to let it finish dying.
    Now, here is a code snippet how you achieve this.
    String strCommand = "cmd.exe /c " + strCommand;
    boolean bWait = true;
    //execute the command
    try
         Runtime r = Runtime.getRuntime();
         Process pr = r.exec(strCommand);
         Process pr = r.exec(callAndArgs);
         BufferedInputStream bis =new BufferedInputStream(pr.getInputStream ());
         int c=0;
         /** Outlet for IO for the process **/
         while (c!=-1)
              c=bis.read();
         /**Now wait for the process to get finished **/
         if(bWait == true)
              pr.waitFor();
              pr.destroy();
    catch(Exception e)
         System.out.println("Could not execute process " + strCommand);
         return(false);

  • Bat files from java application..its urgent pls help me

    hi
    My java application tries to execute the bat file, the code followes
    Runtime runs = Runtime.getRuntime();
              runs.exec("e:/customisation/test.bat");
    The bat file contains commands to copy files from one folder to another
    and some dos commands, but the commands are not executing. If i tried the bat file with some exe's like notepad its working well, but not working with dos commands.
    thanks in advance
    nisam

    Hi
    Your batch file will be working actually. But no output will be seen in the console window.
    For example I had created a batch file with the folowing code
    echo This is test
    copy test.bat test1.bat
    pause
    Even though I can't see the messages in the console, it executed when called using
    Runtime runs = Runtime.getRuntime();
    runs.exec("hi.bat");
    where hi.bat contains the above code.
    If you want to see the output messages also in the console, you have to redirect the outputstream to the current console. One such class this does is available somewhere in Java(I don't exactly remember :-( ). I think it is StreamPluginThread.java
    Regards

  • How can I execute a  .bat  file from inside a java application

    I have a .bat file which contains an executable file(.exe) and some input and output file names. What commands can I use to execute this bat file from my java application.

    After raeding tkleisas' reply; i am trying to invoke another application (which can be invoked from the command line) by using a batch file and trying Runtime.exec for executing a batch file.
    My current code is:
    Runtime runtime = Runtime.getRuntime();
    Process trialProcess;
    trialProcess = runtime.exec("cmd.exe /C start C:\\guns.bat /B");
    And my guns.bat looks like:
    cd C:\CALPUFF
    echo trial
    start calpuff.exe CALPUFF.INP
    This is not working for me and i get the following in the error stream of the trialProcess:
    Error :
    The system cannot execute the specified program.
    Process finished with exit code 1
    Has anyone come across something like this and know what's wrong with this one??
    thnx

  • How to execute .bat file through java?

    I already create a batch file to pull & push file. Now, i want to execute this .bat file java.I got this example but it doesnt work. Did i missed something or do we have the better one?
    import java.lang.*;
    import java.io.*;
    public class Loadfile
    public static void main(String args[]) throws IOException
    Runtime load = Runtime.getRuntime();
    r.exec("C:\\pull.bat");
    }

    For Runtime,i'd change it to:
    Runtime load = Runtime.getRuntime();
            String cmd = "C:\\javaclass\\copytemp.bat";
            Process proc = load.exec(cmd.toString());Is it right? But still can't work.
    Here is the .bat file:
    @echo off
    c:
    cd "c:\Inetpub\ftproot\Debitin"
    C:\Inetpub\ftproot\Logrecord\pullscript.txt echo open localhost
    C:\Inetpub\ftproot\Logrecord\pullscript.txt echo Administrator
    C:\Inetpub\ftproot\Logrecord\pullscript.txt echo password
    C:\Inetpub\ftproot\Logrecord\pullscript.txt echo cd ftpScript
    C:\Inetpub\ftproot\Logrecord\pullscript.txt echo binary
    C:\Inetpub\ftproot\Logrecord\pullscript.txt echo lcd C:\
    C:\Inetpub\ftproot\Logrecord\pullscript.txt echo lcd "C:\Inetpub\ftproot\infile"
    C:\Inetpub\ftproot\Logrecord\pullscript.txt echo prompt n
    pause
    C:\Inetpub\ftproot\Logrecord\pullscript.txt echo mget *.txt::@rem >> C:\Inetpub\ftproot\Logrecord\pullscript.txt echo mdel *.*
    C:\Inetpub\ftproot\Logrecord\pullscript.txt echo byeftp.exe -s:C:\Inetpub\ftproot\Logrecord\pullscript.txt
    ::del C:\Inetpub\ftproot\Logrecord\pullscript.txt
    pause
    exit
    [\code]                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                   

  • Not able to execute startEclipse.bat file in Eclipse (Oracle utilities SDK)

    In Eclipse installation, i am not able to run "startEclipse.bat" file in this path "C:\SPLSDK\SDK\shortcuts" which comes under Oracle Utilities Software Development Kit 4.0.0.
    once i start installing startEclipse.bat, i get a error message "windows cannot find /eclipse.exe, make sure you typed correctly and try again"
    and how do i find the eclipse.exe on the installables? also in error message it shows backslash "/"eclipse.exe while executing "startEclipse.bat" file.
    jdk and hibernate paths are located in "c:\spl". Is that fine?
    And When I click “eclipse” in this path “C:\SPLSDK\SDK4.0.0.4\eclipse\eclipse-jee-galileo-SR2-win32\eclipse”, I get error "java runtime or jdk should be available in order to run eclipse. and no JVM was found after searching for the folder "C:\SPLSDK\SDK\4.0.0.4\_jvm\bin\javaw.exe" ". I have installed Jdk in “C:\spl\jdk1.6.0_18”. And to install Eclipse, should I change the path of installing jdk to support Eclipse installation?
    what could be the reason?
    Please give me suggession that how to install eclipse?
    Regards
    Vijaya

    Please help. Its urgent.

  • Running Oracle startup or shutdown bat file from Java code

    I have two bat files for the startup and shutdown of Oracle instance which works fine from the command prompt. But my requirement is to run it through a Java program. Please reply with full Java code. Also mention how I would get the status of the bat files that it is successfully executed or not and if not what is the error.

    Your program is working fine, but there is another problem. What's happening now is I have to open the Login screen after the startup of oracle server is complete, but the next line of my program after Runtime.exec is the LoginScreen.show which immediately shows the login screen after executing Runtime.exec and when I am giving the login name and password and press enter, it shows Oracle not available exception, because the startup process is still in progress. I want to stop the execution of my next line of code until and unless my process of Oracle startup is complete.

  • Call .bat file from java code

    I need to call an application that uses a .bat file to execute from a java program. Is that possible?
    This is the .bat file:
    importcli.exe ciaf2735 C:\Importcli\files\SAI2735*.txt  
    importcli.exe ciaf2735 C:\Importcli\files\CI2735*.txt  
    importcli.exe ciaf2735 C:\Importcli\files\SC2735*.txt  
    importcli.exe db1800 C:\Importcli\files\*.mdb

    magaupe wrote:
    I need to call an application that uses a .bat file to execute from a java program. Is that possible?
    This is the .bat file:
    importcli.exe ciaf2735 C:\Importcli\files\SAI2735*.txt  
    importcli.exe ciaf2735 C:\Importcli\files\CI2735*.txt  
    importcli.exe ciaf2735 C:\Importcli\files\SC2735*.txt  
    importcli.exe db1800 C:\Importcli\files\*.mdb
    Hmmm, I wonder what would happen if there were a web search engine and you could research like this:
    [http://www.google.com/search?hl=en&q=call+.bat+file+from+java]

  • .bat files and java program

    I know that I have posted something just like this before, but I just can't get this to work. I want to have my application call a .bat file and execute it. Can anyone please supply me some code (maybe just a small program) that executes a .bat file from within the program itself. This would be very helpful. I just can't get it to work at all.

    To open notepad in a windows system:
    import java.io.*; // Needed for IOException
    public class Notepad
    public static void main(String[] args)
    try
    Runtime.getRuntime().exec("notepad");
    catch (IOException ioExc)
    System.out.println("Something has gone horribly wrong!");
    Notes:
    1) notepad is usually in the path system variable. You will probably have to type in the entire path to the .bat file you want to execute.
    2) The .exec(programName) will block until the program is terminated.
    3) You are losing any semblance of system independance by doing this.

  • Problems with calling a Bat file in java...

    i'm having some issues when i try to call my bat file within java...
    here is the code
    Runtime.getRuntime().exec("cmd.exe C:\\dev\\CMIC\\components\\client\\bin\\startup.bat");
    it starts up the bat file but it seems to only execute the first line in the bat, then it shuts it down... i dont get it. cuz if i call that bat from another bat it works fine.. if i click on it, it works fine why would java have a problem with it?

    After doing some searching around... this is what i came up with.. but i still get the same results.. the dos screen pops up and then poof.. its gone..
    import java.io.BufferedReader;
    import java.io.ByteArrayOutputStream;
    import java.io.IOException;
    import java.io.InputStream;
    import java.io.InputStreamReader;
    import java.io.OutputStream;
    import java.io.PrintWriter;
    public class test {
         public static void main(String Args[]){
         System.out.println("About to try and EXecute the Bat");
                   //String retVal = ExecWindows( "cmd.exe C:\\dev\\CMIC\\components\\client\\bin\\startup.bat" );
                   String retVal = ExecWindows( "cmd.exe /C C:\\dev\\CMIC\\components\\client\\bin\\startup.bat" );
                   System.out.println(retVal);     
         private static String ExecWindows(String cmd) {
              try {
                   ByteArrayOutputStream bos = new ByteArrayOutputStream(100 * 1024);
                   Runtime rt = Runtime.getRuntime();
                   Process proc = rt.exec(cmd);
                   StreamGobbler errorGobbler =
                        new StreamGobbler(proc.getErrorStream(), "ERROR");
                   StreamGobbler outputGobbler =
                        new StreamGobbler(proc.getInputStream(), "OUTPUT", bos);
                   errorGobbler.start();
                   outputGobbler.start();
                   int exitVal = proc.waitFor();
                   //if ( DEBUG ) System.out.println( "cmd: '" + cmd + "' -> " + exitVal );
                   errorGobbler.join();
                   outputGobbler.join();
                   //if (DEBUG && exitVal != 0)
                   //     System.out.println(" ExitValue: " + exitVal);
                   if (exitVal != 0)
                        return "";
                   bos.flush();
                   String output = bos.toString();
                   bos.close();
                   return output;
              } catch (Throwable t) {
                   return "";
         } /* * Handle standard I/O streams */
    } // end of class
         class StreamGobbler extends Thread {
              InputStream is;
              String type;
              OutputStream os;
              StreamGobbler(InputStream is, String type) {
                   this(is, type, null);
              StreamGobbler(InputStream is, String type, OutputStream redirect) {
                   this.is = is;
                   this.type = type;
                   this.os = redirect;
              public void run() {
                   try {
                        PrintWriter pw = null;
                        if (os != null)
                             pw = new PrintWriter(os);
                        InputStreamReader isr = new InputStreamReader(is);
                        BufferedReader br = new BufferedReader(isr);
                        String line = null;
                        while ((line = br.readLine()) != null) {
                             //System.out.println( "{" + line + "}" );
                             if (pw != null) {
                                  pw.println(line);
                             } else {
                                  System.out.println(type + ">" + line);
                        if (pw != null)
                             pw.flush();
                   } catch (IOException ioe) {
                        ioe.printStackTrace();
         }

  • How to call a .bat file from java code?

    How to call a .bat file from java code? and how can i pass parameters to that .bat file?
    Thanks in advance

    thanks for ur reply
    but still i am getting the same error.
    I am trying to run a .bat file of together tool, my code looks like below
    import java.lang.Runtime;
    import java.lang.Process;
    import java.io.File;
    class SysCall{
         public static void main(String args[]){
              String cmd="D://Borland//Together6.2//bin//Together.bat -script:com.togethersoft.modules.qa.QA -metrics out:D://MySamples//Metrics// -fmt:html D://Borland//Together6.2//samples//java//CashSales//CashSales.tpr";
              //String path="D://Borland//Together6.2//bin//Together.bat ";
              Runtime r= Runtime.getRuntime(); //Declare the system call
              try{
                   System.out.println("Before batch is called");
                   Process p=r.exec(cmd);
                   System.out.println(" Exit value =" + p.exitValue());
                   System.out.println("After batch is called");
              /*can produce errors which must be caught*/
              catch(Exception e) {
                   e.printStackTrace();
                   System.out.println (e.toString());
    I am getting the below exception
    Before batch is called
    java.lang.IllegalThreadStateException: process has not exited
    at java.lang.Win32Process.exitValue(Native Method)
    at SysCall.main(SysCall.java:17)
    java.lang.IllegalThreadStateException: process has not exited

  • Could not execute the css file

    Hi,
    I have this code:
    named: email11.java
    import javax.servlet.*;
    import javax.servlet.http.*;
    import java.sql.*;
    import java.util.*;
    import business.User;
    import data.UserDB;
    import util.MurachPool;
    public class EmailServlet extends HttpServlet{
    private MurachPool connectionPool;
    public void init() throws ServletException{
    connectionPool = MurachPool.getInstance();
    public void destroy() {
    connectionPool.destroy();
    public void doGet(HttpServletRequest request,
    HttpServletResponse response)
    throws IOException, ServletException{
    Connection connection = connectionPool.getConnection();
    HttpSession session = request.getSession();
    String message ="";
    try{
    Vector users = UserDB.readRecord(connection);
    session.setAttribute("users", users);
    RequestDispatcher dispatcher =
    getServletContext().getRequestDispatcher(
    "/email11/show_email_entry.jsp");
    dispatcher.forward(request, response);
    }catch(SQLException sqle){
    message = "EmailServlet SQLException: " + sqle;
    session.setAttribute("message", message);
    RequestDispatcher dispatcher =
    getServletContext().getRequestDispatcher(
    "/email11/join_email_list.jsp");
    dispatcher.forward(request, response);
    connectionPool.freeConnection(connection);
    and this code in jsp file:
    named: show_email_entry.jsp
    <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
    <%@ taglib uri="../WEB-INF/tlds/murach.tld" prefix="mma" %>
    <html>
    <head>
    <link rel="stylesheet" type="text/css" href="DisplayData.css">
    </head>
    <body>
    <h1> Test</h1>
    <table cellspacing="0" cellpadding="1" border="1">
    <tr valign="bottom">
    <td class="headerColumn" align= "center">First Name</td>
    <td class="headerColumn" align= "center">Last Name</td>
    <td class="headerColumn" align= "center">Address</td>
    <td class="headerColumn" align= "center">Phone Number</td>
    <td class="headerColumn" align= "center">Cell Number</td>
    <td class="headerColumn" align= "center">Email Address</td>
    </tr>
    <mma:users>
    <tr>
    <td><%= firstName %></td>
    <td><%= lastName %></td>
    <td><%= address %></td>
    <td><%= phoneNumber %></td>
    <td><%= cellNumber %></td>
    <td><%= emailAddress %></td>
    </tr>
    </mma:users>
    </table>
    </body>
    </html>
    This is the css file code that I like to apply to the show_email_entry.jsp
    named: Displaydata.css
    This rules are for background color for data display
    /*td.column{
    background-color: #f0f8ff;
    background-color: #fffacd;
    td.headerColumn{
    background-color: #daa520;
    font-weight: bold;
    font-family: sans-serif,Verdana, Arial, Helvetica;
    font-size: 10pt;
    td.column{
    font-family: sans-serif,Verdana, Arial, Helvetica;
    font-size: 10pt;
    white-space: nowrap;
    background-color: #fffacd;
    a{
    text-decoration: none;
    h1{
    color: red;
    They are working fine. However, it just does not execute the css file in the show_email_entry.jsp. Another word, the headerColumn should show some color as I coded it in the css file. But it shows only white background and black text. I have the file named DisplayData.css in the same directory as the file named show_email_entry.jsp. But it still does not work.
    if I create a test.jsp and use with the DisplayData.css file above then it would work fine. But when I used it with the servlet file, then it would not work.
    Anyone knows why ?
    Thanks
    zbonzbon

    Pls, disregard this thread. I have found my answer..
    Thanks,
    zbonzbon

Maybe you are looking for

  • External Hard drives Mac OS and Windows

    I have a question on external hard drives. I am looking for an external drive that will work with both my Mac and Windows xp pro. I remember that Mac used to be able to read windows format but not vise versa. I know that thumb drives switch back and

  • How to hide apps in the purchased section of the iphone 4 using ios 7

    I have been trying to remove unwanted apps from purchased but i could not remove it becasue of the upgrade to ios 7 because the latest post were for ios 6

  • NullPointerException in WebLogic while accessing web service from client

    Hi all, I have an SPML Web Service developed. The java class from WSDL was generated using wsdlc <wsdlc srcWsdl="schema/oracle_ws_spmlv2.wsdl" destJwsDir="${classes.dir}" type="JAXWS" explode="true"/> and then <jwsc classpath="..." classpathref="wls.

  • Integrating Forms and Apex. (Calling Apex from Forms).

    Hi all. We'll soon start an upgrade of our Forms / Reports 6i Application to 11g. I was wondering, maybe, it would be nice to add some value for the upgrade process as a whole, using some of Apex new features like web mobile interface or maybe an int

  • JAXB problems unmarshalling

    I used xjc to generate a set of elements from the schema shown below: <?xml version="1.0" encoding="UTF-8"?> <xsd:schema targetNamespace="http://www.doc.state.nc.us/doccodes" xmlns="http://www.doc.state.nc.us/doccodes" xmlns:xsd="http://www.w3.org/20