- C# から cmd.exe で一連のコマンドを実行したいと考えています。
- cmdのウィンドウを1つだけ開く必要があります
- 実行中および完了後もcmdウィンドウを開いたままにしておく必要があります。
- [編集]開いたコマンド ウィンドウ[/編集]で実行されたコマンドと、コマンドの出力を表示する必要があります。
したがって、基本的には、手動ユーザーと同じように cmd.exe を開いて使用したいと考えています。いくつかの方法を試しましたが、上記の 4 つの項目すべてを実行できるものはありませんでした。
以下のコードは機能しますが、コマンド/出力を表示せず、完了後に終了します。何か助けはありますか?
Process p = new Process();
ProcessStartInfo info = new ProcessStartInfo("cmd.exe");
info.RedirectStandardInput = true;
info.UseShellExecute = false;
info.CreateNoWindow = false;
info.Arguments = "/k";
p.StartInfo = info;
p.Start();
using (StreamWriter sw = p.StandardInput)
{
if (sw.BaseStream.CanWrite)
{
sw.WriteLine("dir");
sw.WriteLine("ipconfig");
}
}