我需要执行一个写入批处理文件的 net use 命令来启用驱动器。批处理文件如下:
net use * /delete /Y
net use l: \\<windows drive name> /user:<domain>\<username> <password>
上面的批处理文件为我启用了一个驱动器,并且对我来说它可见为 L: 驱动器。 我需要通过java代码执行这个批处理文件,然后将一些文件写入这个驱动器。
我使用以下代码来执行此批处理文件:
String[] array = { "cmd", "/C", "start", "C:/file.bat" };
Runtime.getRuntime().exec(array);
问题是当我尝试访问驱动器以写入文件时,它给了我一个路径未找到的异常。有时它运行,有时不运行。
各位 friend 可以帮我看看问题出在哪里吗?我正在执行什么错误的步骤。如果我不清楚我的问题,请告诉我。
最佳答案
我怀疑当它到达实际的命令 shell 时,Windows 不喜欢“/”。也许尝试用“\”代替? 外部进程执行有点棘手 - 你可能想看看 Apache Commons Exec project帮助您。
关于java - 执行net use命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14474747/