如何使用 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();
}
有三个选项:
- 启动命令时将命令传递到
cmd.exe
- 启动后将命令发送到
cmd.exe
- 编写批处理文件或 PowerShell 脚本
启动命令时将命令传递到cmd.exe
要将命令传递给cmd.exe
可以使用 cmd.exe
的-k
或-c
参数。
例如,这将启动cmd.exe
,显示登录的用户,然后终止cmd.exe
进程:
cmd.exe /c "whoami"
查看此页面或谷歌以获取更多示例。
启动后将命令发送到cmd.exe
另一种方法是先启动cmd.exe
,然后再向其发送命令。关于这个问题已经有很多问题,但通常似乎有两种方法:
- 一次发送一个键,例如,如何将按键发送到正在运行的进程对象?
- 将数据发送到进程的输入缓冲区,例如 .NET:将数据注入进程的输入缓冲区
我不确定他们是否会与cmd.exe
合作.
编写批处理文件或 PowerShell 脚本
自动化cmd.exe
的更常见方法是编写批处理文件或 PowerShell 脚本。您可能还需要考虑这些选项。