我有一个运行c#executale的命令行。当它正在运行时,我希望c#可执行文件在命令行输入一些命令。我想要这个,因为我想在命令行中知道调用了哪些命令和结果。
我还需要获取结果。
c#可执行文件生成的命令可能来自 cd .. 通过执行另一个可执行文件 mono fetch.exe
没有流程 How To: Execute command line in C#, get STD OUT results
类似
Console.WriteLine 但是,自从exe通过窗口执行以来,它会在同一时间执行该行
答案 0 :(得分:0)
Shell命令无法在同一进程中执行。如果您真的想要执行直接的,任意的shell命令,那么只需为cmd /c <command>
运行Process.Start
即可执行任何命令。请注意,&&
,||
,&
可用于制作更有趣的单个命令。 (如果要将多个命令流式传输到同一个进程,您甚至可以通过stdout发送shell命令,但这需要更多的设置)。
但是,您不需要运行shell命令,因为C#中存在等效功能,并且比shell命令更有效,因为shell命令被解释(而C#被编译)。例如,您可以使用startInfo.WorkingDirectory
(来自process.StartInfo)来模拟“cd ..
”的效果