在此你是将move作为一个字符串输出的,并没有让执行它。

解决方案 »

  1.   

    runtime.exec(cmd);
    不是已经执行了吗?
      

  2.   

    一旦执行就出一个IOException的异常
      

  3.   

    是在windows环境下吗,move是内部命令
      

  4.   

    我也试了:
    在cmd下可以调用move
    但是runtime.exec不可以是不是内部命令就不可以调用
    那runtime.exec的机制是什么
    是不是只可以调用外部可执行文件
      

  5.   

    是啊,这个问题,真能把人晕倒,报一个error=2
      

  6.   

    我试做一个批处理
    这里面执行move
    在runtime.exec调用批处理
    结果成功了
      

  7.   

    楼主,是这种错误吗:
    java.io.IOException: CreateProcess: C:/WINNT/system32/iccard.jar error=193
    at java.lang.Win32Process.create(Native Method)
    at java.lang.Win32Process.<init>(Win32Process.java:66)
    at java.lang.Runtime.execInternal(Native Method)
    at java.lang.Runtime.exec(Runtime.java:566)
    at java.lang.Runtime.exec(Runtime.java:428)
    at java.lang.Runtime.exec(Runtime.java:364
    我也在郁闷中啊,你们说会不会是安全问题呢?
      

  8.   

    应该是
    java.io.IOException: CreateProcess: move c:\INSTALL.LOG D:\INSTALL.LOG error=2 at java.lang.Win32Process.create(Native Method) at java.lang.Win32Process.<init>(Win32Process.java:61) at java.lang.Runtime.execInternal(Native Method) at java.lang.Runtime.exec(Runtime.java:546) at java.lang.Runtime.exec(Runtime.java:413) at java.lang.Runtime.exec(Runtime.java:356) at java.lang.Runtime.exec(Runtime.java:320) at test_ejb.exec.main(exec.java:21)
      

  9.   

    如果是2000系统或者nt  public static void main(String args[]) {    try {
          String[] cmd = new String[3];
     cmd[0] = "cmd.exe"; //如果是win98的话 cmd[0]="command.com "; linux是"/bin/sh";
          cmd[1] = "/C";
          cmd[2] = "move e:\\test.txt d:\\test.txt";
          Runtime rt = Runtime.getRuntime();
          Process proc = rt.exec(cmd);
        }
        catch (Throwable t) {
          t.printStackTrace();
        }
      }
    ps:
    已经测试成功
      

  10.   

    恩,yu_shi_bin(想我的朋友)的不错,测试成功,建议楼主把分都给他了吧!!
    如果楼主想分一点给我,当然就更好了,呵呵呵呵:)