在Java中,我希望能够执行Windows命令。
有问题的命令是netsh。这将使我能够设置/重置我的IP地址。
netsh
请注意,我不想执行批处理文件。
我想直接执行这些命令,而不是使用批处理文件。这可能吗?
这是我实施的解决方案,以供将来参考:
public class JavaRunCommand { private static final String CMD = "netsh int ip set address name = \"Local Area Connection\" source = static addr = 192.168.222.3 mask = 255.255.255.0"; public static void main(String args[]) { try { // Run "netsh" Windows command Process process = Runtime.getRuntime().exec(CMD); // Get input streams BufferedReader stdInput = new BufferedReader(new InputStreamReader(process.getInputStream())); BufferedReader stdError = new BufferedReader(new InputStreamReader(process.getErrorStream())); // Read command standard output String s; System.out.println("Standard output: "); while ((s = stdInput.readLine()) != null) { System.out.println(s); } // Read command errors System.out.println("Standard error: "); while ((s = stdError.readLine()) != null) { System.out.println(s); } } catch (Exception e) { e.printStackTrace(System.err); } } }
Runtime.getRuntime().exec("netsh");
请参阅运行时 Javadoc。
编辑:稍后由leet给出的答案表明,现在不建议使用此过程。但是,根据DJViking的评论,情况似乎并非如此:Java 8文档。该方法未弃用。