源代码如下,我想要执行一个dos里的文件移动命令;
public class Test4 { public static void main(String[] args) {
Runtime rt = Runtime.getRuntime();
String command="cmd.exe/c start move e:\\\\aaa.txt e:\\\\bbb.txt";
try {
 rt.exec(command);

} catch (Exception e) {
System.out.println("执行文件移动命令失败");
e.printStackTrace();
}
}
}结果老是给我抛一个异常:
java.io.IOException: CreateProcess: cmd.exe\c start move e:\\aaa.txt e:\\bbb.txt error=2
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(Unknown Source)
at java.lang.ProcessImpl.start(Unknown Source)
at java.lang.ProcessBuilder.start(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at java.lang.Runtime.exec(Unknown Source)
at qq.Test4.main(Test4.java:9)请问哪位大侠能够给我解释一下啊?

解决方案 »

  1.   

    String command="cmd.exe/c start move e:\\\\aaa.txt e:\\\\bbb.txt";
    怎么这么多次转义,而且/c和cmd.exe连在一起?简单一点:
    String command="cmd.exe /c start move e:\\aaa.txt e:\\bbb.txt";
      

  2.   


    public class Test4 {
    public static void main(String[] args){
    Runtime rt = Runtime.getRuntime();
    String command = "cmd.exe /c start move c:/cmd.txt d:/b.txt";
    try{
    rt.exec(command);
    }catch(Exception e){
    System.out.println("fail");
    e.printStackTrace();
    }
    }}这样也可以·
      

  3.   

    String command="cmd.exe /c start move e:\\aaa.txt e:\\bbb.txt";
      

  4.   

    String command="cmd.exe /c start move e:\\aaa.txt e:\\bbb.txt";
      

  5.   

    /是自动匹配的,windows中匹配\\,unix中匹配/