我读过一些关于这个主题的文章,但我自己执行起来遇到了麻烦。我正在尝试创建一个程序,该程序创建一个关闭回显的命令行,这是我目前正在使用的命令:
Runtime.getRuntime().exec( "cmd.exe /q /k start" );
现在,我知道人们通常会避免使用 rt.exec(),但这不会是一个大型程序,只是一个 Java 中的小型文本和基于对象的 RPG 我'我和我的 friend 一起玩。
现在,命令行显示正常,但显示就像我通常通过 cmd.exe 打开命令行一样。有什么我不明白的地方吗?
最佳答案
与 cmd.exe /q /k start
你最终得到两个cmd
提示-cmd.exe
一、start
一。 start
打开一个新的 shell 提示符,但不是一个安静的提示符(有关 start
: https://technet.microsoft.com/en-us/library/cc770297(v=ws.11).aspx 的更多信息,请参阅此处)。
我假设您只需要一个 cmd 提示符,因此请尝试以下操作:
Runtime.getRuntime().exec( "cmd.exe /q" );
编辑:
我没有考虑到cmd.exe
由 Runtime.getRuntime().exec
执行后终止.
经过一番尝试和错误后,这应该可行:
Runtime.getRuntime().exec( "cmd.exe /q /k start title /i" );
/i
参数start
告诉它继承调用它的环境,并且这个环境很安静,这要归功于 /q
参数cmd.exe
.
关于java - 创建关闭回显的命令行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47374108/