相关疑难解决方法(0)

如何通过Java执行cmd命令

我试图通过Java执行命令行参数.例如:

// Execute command
String command = "cmd /c start cmd.exe";
Process child = Runtime.getRuntime().exec(command);

// Get output stream to write from it
OutputStream out = child.getOutputStream();

out.write("cd C:/ /r/n".getBytes());
out.flush();
out.write("dir /r/n".getBytes());
out.close();
Run Code Online (Sandbox Code Playgroud)

以上打开命令行但不执行cddir.有任何想法吗?我正在运行Windows XP,JRE6.

(我已将我的问题修改为更具体.以下答案有帮助,但不回答我的问题.)

java exec

41
推荐指数
4
解决办法
20万
查看次数

如何使用Java打开命令提示符并插入命令?

是否可以打开命令提示符(我猜其他系统的任何其他终端),并在新打开的窗口中执行命令?

目前我拥有的是:

Runtime rt = Runtime.getRuntime();
rt.exec(new String[]{"cmd.exe","/c","start"});
Run Code Online (Sandbox Code Playgroud)

我尝试在"开始"之后添加下一个命令,我尝试运行另一个包含我的命令的rt.exec,但我找不到让它工作的方法.

如果重要,我正在尝试运行类似于此的命令:

java -flag -flag -cp terminal-based-program.jar
Run Code Online (Sandbox Code Playgroud)

编辑不幸的是我有一些奇怪的发现.我已经能够成功启动命令提示符并使用以下命令传递命令:

rt.exec("cmd.exe /c start command");
Run Code Online (Sandbox Code Playgroud)

但是,它似乎只能使用一个命令.因为,如果我尝试使用这样的命令分隔符"cmd.exe/c start command&command2",则第二个命令将通过后台传递(如果我刚使用rt.exec("command2")的话;) .现在问题是,我意识到我需要更改运行命令提示符的目录,因为如果我只使用jar文件的完整路径,则jar文件会错误地从命令提示符的活动目录中读取数据,而不是jar的目录,包含其资源.

java terminal command launch

38
推荐指数
3
解决办法
12万
查看次数

标签 统计

java ×2

command ×1

exec ×1

launch ×1

terminal ×1