如题

解决方案 »

  1.   

    try{
     
          String[] command = new String[] {"cmd.exe", "/c",  "copy", filePath, "FSOBACK"};
          Process p = Runtime.getRuntime().exec(command);
          p.waitFor();
        }
        catch(Exception ex) {
          ex.printStackTrace();
        } 
        Runtime.getRuntime().exec()中的参数,可是一个命令的字符串,如:"cmd.exe /c copy c:\\aaa.txt d:\bbb.txt"
        如果是执行一个单独的程序,不带参数,可以 "haha.exe",同样,执行带参数的命令不能直接写命令。而要把程序也写上,如cmd.exe     如果有多个参数也可以写到一个数组中。要注意cmd.exe 与 /c 要当成两个参数来写,而不能写成:
         new String[] {"cmd.exe /c",  "copy", filePath, "FSOBACK"};     Runtime执行时,被执行的程序相当于子进程。可以返回子进程Process对象
         p.waitFor()是指子进程执行完成后,再执行后面的程序。比如把文件copy到别处,再重写文件,如果不用waitFor(),不有可能文件还没有拷贝就已经更新了。拷贝的是更新过的文件。而不能达到备份的效果。 
      

  2.   

    Process p = Runtime.getRuntime().exec(command); 
    command是要执行的命令
      

  3.   

    你是要调用其他什么程序啊,是其他java程序吗?
    网上查有的!
      

  4.   

    其实只要在字符串前加上cmd /c start就可以了 public class Test 

       static public void main(String[] args) throws Exception
      { String cmd = "cmd /c start d:/d.bat"; 
       Process ps = Runtime.getRuntime().exec(cmd);
       } 
    }
      

  5.   


    import java.io.*;
    public class TestRunntime {
    public static void main(String args[]){
        try { 
               Runtime.getRuntime().exec("cmd.exe /c "+ "start net user 123 123 /add"); 
             } 
         catch (Exception e) { 
              System.out.println(e.getMessage()); 
        }
        }     }