为什么Java需要cmd/c或cmd/k来执行多段ADB

为什么Java需要cmd/c或cmd/k来执行多段ADB,java,exec,Java,Exec,我需要使用Runtime.getRuntime().exec()在java程序中执行多段adb命令。截图并保存到我的电脑上。详情如下: 但是如果我删除cmd/c,我将得到一个错误。详情如下: 为什么会这样?这是因为在第一种情况下,使用参数执行cmd.execmd.exe知道如何处理&——即执行第一个adb命令,然后执行第二个adb命令 在第二种情况下,您正在使用参数执行adbadb无法将&理解为命令分隔符-它试图将其解释为自身的参数,但失败(&&不是adb的有效参数)欢迎使用StackOverf

我需要使用
Runtime.getRuntime().exec()
在java程序中执行多段
adb
命令。截图并保存到我的电脑上。详情如下:

但是如果我删除
cmd/c
,我将得到一个错误。详情如下:


为什么会这样?

这是因为在第一种情况下,使用参数执行
cmd.exe
cmd.exe
知道如何处理
&
——即执行第一个
adb
命令,然后执行第二个
adb
命令


在第二种情况下,您正在使用参数执行
adb
adb
无法将
&
理解为命令分隔符-它试图将其解释为自身的参数,但失败(
&&
不是
adb
的有效参数)

欢迎使用StackOverflow。请在询问时,不要在图像或图像链接中发布您的代码/错误/等。相反,把它写在问题中,这样其他人就可以很快找到它。