好吧让我说我有一个关闭你的电脑的程序,为此我需要使用cmd的东西[例如,忍受我]?我该怎么做?也许我找到一个.exe文件或者某些东西,但我想要一个预先输入的命令,这样用户就不会受到打扰。
答案 0 :(得分:1)
事实上。这是一个最受欢迎的Java面试问题:“你如何从Java启动外部流程?”这基本上就是你要问的。使用:
Runtime.getRuntime().exec(...)
请参阅:http://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html
devil-detail正在为cmd.exe可执行文件提供正确的路径,并将params(如果有的话)传递给你想要的。只运行cmd.exe看起来很像这样:
Runtime.getRuntime().exec("C:\\Windows\\System32\\cmd.exe");
或者为了避免使用绝对路径,您可能需要使用%windir%:
Runtime.getRuntime().exec("%windir%\\System32\\cmd.exe");
如果要从cmd.exe运行.bat,它看起来像这样:
Runtime.getRuntime().exec("%windir%\\System32\\cmd.exe \"C:\\mybatfile.bat\"");
玩它。 :)希望这有帮助!
答案 1 :(得分:0)
从Java 5开始,首选方法是使用ProcessBuilder(http://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html)
Process p = new ProcessBuilder("myCommand", "myArg").start();
然后您正常使用Process api。