我想用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();
它執行的命令,然後返回控制檯的內容。 (這是用於目前的窗口)。