我想用 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();
它执行命令,然后返回控制台的内容。(这暂时适用于 Windows)。