public static void main(String[] args)
{
String cmd = "D:\\demo\\Test.bat";
try
{
Runtime.getRuntime().exec("cmd.exe   /c  "+cmd);
}
catch (IOException e)
{
// TODO Auto-generated catch block
e.printStackTrace();
}
}
        //运行结果是找不到: can not find the main class
        //Test.bat是一个批处理文件,鼠标双击 bat 文件能运行应用程序

解决方案 »

  1.   


    不是找不到Test.bat,而是找不到你的主方法。你把你全部代码贴上来看看。
      

  2.   

    import java.io.BufferedReader;
    import java.io.IOException;
    import java.io.InputStreamReader;public class UseBarTest
    { /**
     * @param args
     */
    public static void main(String[] args)
    {
    String cmd = "D:\\demo\\Test.bat";
    System.out.println("start******");

    try
    {
    Runtime.getRuntime().exec("cmd.exe   /c  "+cmd);
    }
    catch (IOException e)
    {
    // TODO Auto-generated catch block
    e.printStackTrace();
    }

    System.out.println("end*******");

    }}
    运行结果 是:
    start******
    end*******还有can not find the main class 

      

  3.   

    我感觉是exec("cmd.exe  /c  "+cmd); 中的字符串错了。
      

  4.   

    呵呵,是那里写错了,改成:Runtime.getRuntime().exec("cmd.exe /c start "+cmd);试试
      

  5.   

    补充一点,这样启动的批处理命令,若没有指定路径,它默认是在该project的目录下
    你说的can not find the main class,是不是你在bat里加了java UseBarTest?
      

  6.   

    我又写了一个 a.bat 。内容是 copy "d:\demo\a.bat" "d:\demo\复件 a.bat" 。
    放在 "D:\\demo 目录下。
    然后调用就好使。调用 test.bat 不好使:could not find the main class,program will exit;两者的差别是差别是test.bat 运行的是java程序。
      

  7.   


    //运行结果是找不到: can not find the main class 
    保存一下工程。
      

  8.   

    把你的bat文件保存到你工程的根目录下就可以了。
    Runtime.getRuntime().exec("cmd.exe /c start Test.bat");