如何使用 C# 将命令发送到 CMD

本文关键字:CMD 命令 何使用 | 更新日期: 2023-09-27 18:36:54

我尝试开发 c# 应用程序以使用 adb shell 将 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();


    }

如何使用 C# 将命令发送到 CMD

有三个选项:

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

启动命令时将命令传递到cmd.exe

要将命令传递给cmd.exe可以使用 cmd.exe-k-c参数。

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

cmd.exe /c "whoami"

查看此页面或谷歌以获取更多示例。

启动后将命令发送到cmd.exe

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

  1. 一次发送一个键,例如,如何将按键发送到正在运行的进程对象?
  2. 将数据发送到进程的输入缓冲区,例如 .NET:将数据注入进程的输入缓冲区

我不确定他们是否会与cmd.exe合作.

编写批处理文件或 PowerShell 脚本

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