3

このコードを使用して、他のプロセスからMingwでコマンドを実行しようとしています:

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 Huntleys answer
に 基づいて、私にとっての解決策は次のようになります (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();               
}
4

2 に答える 2