java - 执行net use命令

标签 java process batch-file runtime.exec

我需要执行一个写入批处理文件的 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/

相关文章:

java - 将 Json 转换为 Java 列表

java - 用于选择没有后代 Java 的所有子节点的 XPath 表达式

c++ - 监控进程(所有)

go - 命令需要换行才能完成

batch-file - Windows 批处理 : What does the "~" do?

windows - 在批处理文件中,如果没有其目录的其余部分,我将如何找到它所在的特定文件夹?

java - 类型、属性、实例和值之间的关系

java - 我需要什么配置和库才能在 jsf 项目中使用 spring security taglibs?

linux - 进程已经运行错误

windows - Windows程序文件夹中全局可写批处理文件的安全问题