我正在尝试使用以下代码从其他进程在Mingw上执行命令:
但这段代码只是启动了Mingw,没有输入命令。
我错过了什么还是不可能做到?
谢谢。
更新
根据Jason Huntley的答案,对于我来说,解决方案如下(我正在使用OMNeT++模拟器,因此目录是基于它的)。
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = @"PATH-TO-MINGW\mingwenv.cmd";
startInfo.UseShellExecute = false;
startInfo.RedirectStandardInput = true;
using (Process exeProcess = Process.Start(startInfo))
{
StreamWriter str = exeProcess.StandardInput;
str.WriteLine("ls");
exeProcess.WaitForExit();
}
但这段代码只是启动了Mingw,没有输入命令。
我错过了什么还是不可能做到?
谢谢。
更新
根据Jason Huntley的答案,对于我来说,解决方案如下(我正在使用OMNeT++模拟器,因此目录是基于它的)。
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.FileName = @"PATH_TO_SIMULATOR\omnetpp-4.3\msys\bin\sh.exe";
startInfo.UseShellExecute = false;
startInfo.RedirectStandardInput = true;
using (Process exeProcess = Process.Start(startInfo))
{
using (StreamWriter str = exeProcess.StandardInput)
{
str.WriteLine("cd PATH_TO_SIMULATOR/omnetpp-4.3");
str.Flush();
str.WriteLine("ls");
str.Flush();
}
exeProcess.WaitForExit();
}