日期:2014-05-20  浏览次数:20873 次

java调用cmd命令,求解
本帖最后由 wentshop 于 2013-03-25 14:11:48 编辑
使用
process = runtime.exec("dir");
时报错,
java.io.IOException: Cannot run program "dir": CreateProcess error=2, ?????μ??
at java.lang.ProcessBuilder.start(ProcessBuilder.java:460)
at java.lang.Runtime.exec(Runtime.java:593)
at java.lang.Runtime.exec(Runtime.java:431)
at java.lang.Runtime.exec(Runtime.java:328)
at com.bokesoft.myscm_cloud.testcase.os.command.WindowsCommand.exec(WindowsCommand.java:21)
at com.bokesoft.myscm_cloud.testcase.os.command.WindowsCommand.main(WindowsCommand.java:40)
Caused by: java.io.IOException: CreateProcess error=2, ?????μ??
at java.lang.ProcessImpl.create(Native Method)
at java.lang.ProcessImpl.<init>(ProcessImpl.java:81)
at java.lang.ProcessImpl.start(ProcessImpl.java:30)
at java.lang.ProcessBuilder.start(ProcessBuilder.java:453)
... 5 more

请问这是什么原因,该怎么解决
java cmd

------解决方案--------------------
cmd /c 执行完命令后关闭命令窗口。 

cmd /k 执行完命令后不关闭命令窗口
------解决方案--------------------
cmd /c dir 是执行完dir命令后关闭命令窗口。 其实我觉得你要执行连贯的动作,建议你先写一个bat批处理文件,然后通过java代码执行该文件。如果是简单的一个命令,用runtime.exec("cmd /c dir")就行,多个命令最好用批处理