2017-04-02 157 views
0

我已经搜索过类似的问题,但尽管在那里有很多类似的标题,但都有不同的要求。Java与Windows cmd进行交互

在我的情况下,我希望我的java程序通过编写命令和读取响应与终端(Windows)进行交互。

我已经找到了类ProcessBuilder,但似乎并没有那么做我想做的

我” M寻找的东西如此:

  1. 在某个给定的位置开始cmd(如C:\Users\federico
  2. 发出命令(dircd desktop);这不应该打开命令提示符窗口
  3. 读取命令可能会导致

等任何输出,最多从程序用户的退出。

+2

这是批处理文件的用途。 Java的功能在所有这些方面发挥了什么作用。 –

+3

你想“数字”一个命令?那是什么意思? – ajb

+0

@NickZiebert我不希望只执行一个cmd命令,而是阅读cmd的回答(例如:我把我的批处理这些指令:1:cd C:/ Users/federico 2:dir。我想要的是我的程序读取哪些是子目录,我不希望cmd与该cubDirectory打开 – fedi98

回答

1

我怀疑你根本不知道这个英文术语:你在寻找的是一种在OS中执行命令的方法,在我所知的每种编程语言中称为“exec”,其中包括Java :https://docs.oracle.com/javase/7/docs/api/java/lang/Runtime.html#exec(java.lang.String)

+0

我不认为这是正确的。他提到'cd desktop'是他想给用户的命令之一,你不能简单地执行它。听起来像他想写他自己的等效于cmd.exe。 – ajb

+0

相当,但发出命令“CD桌面”本身并没有做任何事情,并且*不像*“改变当前的工作目录”一样,所以代替其他细节,问题“我该如何运行一个命令“仍然是”你使用exec“ –

+0

但他没有问”我该如何运行命令“。 – ajb