【发布时间】:2011-06-08 22:57:15
【问题描述】:
是否可以打开命令提示符(我猜其他系统的任何其他终端),并在新打开的窗口中执行命令?
目前我拥有的是这样的:
Runtime rt = Runtime.getRuntime();
rt.exec(new String[]{"cmd.exe","/c","start"});
我尝试在“开始”之后添加下一个命令,我尝试运行另一个包含我的命令的 rt.exec,但我找不到让它工作的方法。
如果重要的话,我正在尝试运行类似于以下的命令:
java -flag -flag -cp terminal-based-program.jar
编辑不幸的是,我有一些奇怪的发现。我已经能够成功启动命令提示符并使用以下命令传递命令:
rt.exec("cmd.exe /c start command");
但是,它似乎只适用于一个命令。因为,如果我尝试使用这样的命令分隔符“cmd.exe /c start command&command2”,第二个命令将通过后台传递(就像我只使用 rt.exec("command2"); 的方式) .现在这里的问题是,我意识到我需要更改命令提示符所在的目录,因为如果我只是使用 jar 文件的完整路径,jar 文件会错误地从命令提示符的活动目录中读取数据,而不是包含其资源的 jar 目录。
【问题讨论】:
-
您能否阐明为什么要尝试执行此操作,而不是仅在 java 命令上运行 .exec。命令窗口会自动打开。
-
查看我对 ktm5124 答案的评论。
标签: java command terminal launch