用Runtime.getRuntime().exec(cmd)执行cmd命令,cmd命令里面有个输出定位符>>,在windows 2003时候,可以正常输出log,但是在windows 2008时,无法输出log。
求能输出log的方法和无法输出的原因。cmd命令类似于:
D:\win.bat >> D:\win.log
bat能执行,但是无法输出log

解决方案 »

  1.   

    这个问题我遇到过,这个是权限的问题,给你要输出的盘符追加一下你现在登录用户的权限就可以了我用管理员权限帐户登陆,应该默认是有权限的吧。
    而且我代码可以正常对文件进行增删查改,就是没法生成log,这个应该和权限美关系吧
      

  2.   

    这个问题我遇到过,这个是权限的问题,给你要输出的盘符追加一下你现在登录用户的权限就可以了我用管理员权限帐户登陆,应该默认是有权限的吧。
    而且我代码可以正常对文件进行增删查改,就是没法生成log,这个应该和权限美关系吧
    代码是可以正常删除查改的,就是在cmd下不行,你先追加个权限试试
      

  3.   

    解决了Runtime.getRuntime().exec(cmd)
    原来cmd是字符串,现在变成数组String[] cmds = new String[3];
    cmds[0] = "cmd.exe";
    cmds[1] = "/c";
    cmds[2] = cmdFile;
    Runtime.getRuntime().exec(cmds)