Runtime.getRuntime.exec("color 0a") 不工作?

Runtime.getRuntime.exec("color 0a") not working?

我尝试通过以下方式更改 DOS window 的颜色:

Runtime.getRuntime().exec("color 0a");

但它不起作用并显示当前异常:

http://postimg.org/image/9o8xj54tf/

该行在程序的主体部分。

'color' 命令实际上不是可执行二进制文件,因此不能在 cmd.exe 之外执行。

如果您想从 Java 打开 MS-DOS window,请使用此代码:

Runtime.getRuntime().exec("cmd.exe /K color 0a");

或者将您的 MS-DOS 命令保存到一个 .bat 文件中,然后 运行 它们按顺序使用:

Runtime.getRuntime().exec("cmd.exe /K your_batch_file.bat");

其实我找到了一个有效的方法,就是下面的方法:

new ProcessBuilder("cmd.exe", "/c", "color 0a").inheritIO().start();

它使用命令

启动 cmd.exe 进程

color 0a

然后将输出重定向到控制台。