如何通过c#执行shell命令

本文关键字:shell 命令 执行 何通过 | 更新日期: 2023-09-27 17:50:55

我有一个运行c#可执行程序的命令行。当它运行时,我希望c#可执行文件在命令行上输入一些命令。我需要这个,因为我想知道在命令行中调用了哪些命令以及结果。

我还需要获取结果。

c#可执行文件生成的命令可能来自cd . .执行另一个可执行文件mono fetch.exe

没有进程的

如何:在c#中执行命令行,获取STD输出结果

之类的

控制台。WriteLine但是这会同时执行这一行,因为exe是通过

如何通过c#执行shell命令

窗口执行的。

Shell命令不能在同一进程中执行。如果您真的想要执行直接的、任意的shell命令,您可以对任何命令运行cmd /c <command>Process.Start。注意,&&||&可以用来制作更有趣的单个命令。(如果您想将多个命令流式传输到同一个进程,您甚至可以通过stdout发送shell命令,但这更容易设置)。

然而,你不需要运行shell命令,因为c#中存在等效的功能,并且比shell命令更有效,因为shell命令是解释的(而c#是编译的)。例如,您可以使用startInfo.WorkingDirectory(来自process.StartInfo)来模拟" cd .. "

的效果