对不好意思的问题很抱歉,这并不容易。
我需要运行控制台命令,而不仅仅是使用System.exec调用它,我需要稍后访问该进程。
所以我决定选择ProcessBuilder
List<String> commands = new ArrayList<String>();
commands.add("cmd.exe"); //setting up what shell is used
commands.add("/c");
commands.add(commandString); //adding the actual command
ProcessBuilder pb = new ProcessBuilder(commands);
Process running = pb.start();
示例: 执行:一个shell中的CD和dir / ls与调用两个shell实例不同。
解决方案必须在Windows和Linux上运行。我很高兴有人能提供任何帮助。 有人在网上做了一个教程: https://alvinalexander.com/java/java-exec-system-command-pipeline-pipe
但是看起来有点...麻烦
谢谢大家
P.D。 我认为最简单的解决方案是以某种方式直接写入shell。但是现在我不知道该怎么做。