在java中调用控制台命令,
Runtime.getRuntime().exec(commandstr1);
执行一条指令可以,
但遇到多条相关指令执行时不行,如,先打开相关路径下的数据库控制台,再选择使用的数据库,再调用备份数据指令.请指点.
String commandstr1="C:\\program files\\mysql\\bin\\ mysql -uroot -proot ";
String commandstr2="use database";
String commandstr3="into outfile 'a.txt'";

解决方案 »

  1.   

    String commandstr2="use database";
    String commandstr3="into outfile 'a.txt'";
    这两条,应该是不能执行,它们不是windows的东西....
    应该是连到mysql数据库,然后以执行sql语句的方式,运行这些命令.
      

  2.   

    在WINDOWS下面 把命令写在BAT里面
    然后Runtime.getRuntime().exec("c:/test.bat");
    如果直接执行都不行就不要指望Process来执行了
    在LINUX下面
    写成shell也一样执行
      

  3.   

    public static void main(String[] args) { Runtime rn = Runtime.getRuntime();
    Process p = null;
    try {
    FileWriter writer = new FileWriter("c:\\mysql.bat");
    writer.write("@echo off");
    writer.write("\r\n");
    writer.write("cd C:\\program files\\mysql\\bin\\ mysql -uroot -proot ");
    writer.write("\r\n");
    writer.write("use database");
    writer.write("\r\n");
    writer.write("@echo on");
    writer.close();
    p = rn.exec("cmd /C " + "c:\\mysql.bat"); } catch (Exception e1) {
    e1.printStackTrace();
    }
    }