我想从 Java
而不是 cmd
打印 echo %path%
的输出。
我有以下代码:
private void getPath() throws IOException {
String getPath = "cmd.exe /C echo %path%";
Runtime rt = Runtime.getRuntime();
Process proc = rt.exec(getPath);
BufferedReader reader = new BufferedReader(new InputStreamReader(proc.getInputStream()));
String commandOutput = "";
while (commandOutput != null) {
commandOutput = reader.readLine();
System.out.println(commandOutput);
}
}
如果我从 cmd
运行 echo %path%
,输出将以以下内容开头:
C:\Oracle\Ora11\bin;C:\Oracle\Ora10\bin;C:\Program Files\Common
但是 Java
程序的输出开头为:
C:/Program Files/Java/jre7/bin/client;C:/Program Files/Java/jre7/bin;C:/Program Files/Java/jre7/lib/i386
并且仅在这一行之后,其余输出类似。
为什么会发生这种情况?
最佳答案
看起来Java
附加到%path%
它自己的路径。没有别的了。
关于java - 从 Java 运行 echo 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14314933/