我正在尝试在我的程序中使用自动Android S-OFF方法,但我似乎无法在同一窗口中获得两个命令。例如,我现在的代码是:
var process = Process.Start("CMD.exe", "/k adb shell chmod 744 /data/local/tmp/soffbin3");
process.WaitForExit();
但是,当我运行它时,窗口中没有任何内容。我试着让第二个命令跟随第一个命令:
var process = Process.Start("CMD.exe", "/k adb shell & chmod 744 /data/local/tmp/soffbin3");
process.WaitForExit();
但是,包含&
会使第二个命令在第一个命令完成之前不会发生,并且因为"adb shell"
实际上不是一个完成的命令,所以它不会第二个命令。
我还建议我用/k
取代/c
,这可能也有效,但是在打开该命令后窗口几乎立即关闭,我无法确认事情真的发生了。
我尝试了一些变种试图让它发挥作用,但到目前为止还没有任何工作。答案很简单,我错过了吗?我真的希望它是。
提前感谢您的帮助!
答案 0 :(得分:1)
这个命令对我有用
var process = Process.Start("CMD.exe", @"/k adb pull data/data/com.sales.recorder/databases/SalesRecorder c:\adb");
process.WaitForExit();
答案 1 :(得分:0)
您可以使用Verbatim转义命令来避免Literal命令出现问题。 @是逐字转义的,因此Double Quotes中跟随它的信息作为文字命令运行。
var process = Process.Start("CMD.exe", @"/k adb shell & chmod 744 /data/local/tmp/soffbin3");
process.WaitForExit();