如何用c#向cmd发送命令

时间:2013-10-26 11:01:49

标签: c# android

我尝试使用adb shell开发c#app来安装apk到Android手机,但我是初学者。我无法向cmd发送命令。

   void getDevices()
    {
        Process p = new Process();
        ProcessStartInfo startInfo = new ProcessStartInfo(@"cmd.exe");

        p = Process.Start(startInfo);

        p.StandardInput.WriteLine(@"cd " + @"C:\Users\user\Desktop\adb\");
       // String output  = p.StandardOutput.ReadToEnd();





    }

1 个答案:

答案 0 :(得分:1)

有三种选择:

  1. 启动时将命令传递到cmd.exe
  2. cmd.exe启动后发送命令
  3. 编写批处理文件或PowerShell脚本
  4. 启动时将命令传递到cmd.exe

    要将命令传递给cmd.exe,您可以使用-k的{​​{1}}或-c参数。

    例如,这将启动cmd.exe,显示已登录的用户,然后终止cmd.exe进程:

    cmd.exe

    查看this page或Google了解更多示例。

    cmd.exe /c "whoami" 启动后将命令发送至cmd.exe

    另一种方法是首先启动cmd.exe,然后再向其发送命令。关于这个问题已经有很多问题,但通常有两种方法:

    1. 一次发送一个密钥,例如How can I send keypresses to a running process object?
    2. 将数据发送到流程的输入缓冲区,例如.NET: Inject Data into Input-Buffer of Process
    3. 我不确定他们是否会使用cmd.exe

      编写批处理文件或PowerShell脚本

      自动化cmd.exe的更常见方法是编写批处理文件或PowerShell脚本。您可能还想考虑这些选项。