我想用Java创建一个完整的交叉平台控制台。Java - 执行控制台
我遇到的问题是当我使用cd
命令时,路径被重置。例如,如果我执行cd bin
,然后cd ../
,我将执行从我的应用程序的目录中的第一个和第二个完全从同一目录。
如果我想要去一个特定的文件夹,并执行一个程序我必须做这样的事情:
cd C:\mydir & cd bin & start.exe
我想要做的是在不同的部分拆分此CMD:
cd C:\mydir
然后cd bin
然后start.exe
我怎么能这样做?有没有办法存储当前的cd
路径并使用它呢?
这里是我使用的代码:
String[] cmd_exec = new String[] {"cmd", "/c", cmd};
Process child = Runtime.getRuntime().exec(cmd_exec);
BufferedReader in = new BufferedReader(new InputStreamReader(child.getInputStream()));
StringBuffer buffer = new StringBuffer();
buffer.append("> " + cmd + "\n");
String line;
while ((line = in.readLine()) != null)
{
buffer.append(line + "\n");
}
in.close();
child.destroy();
return buffer.toString();
它执行的命令,然后返回控制台的内容。 (这是用于目前的窗口)。