C#コードからコマンドプロンプトを操作するにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/1641782

質問

Windowsコマンドプロンプトをコードから操作しようとしています。私の目標は、プロンプトを表示し、コマンドを入力し、出力を表示して、繰り返すことです。ただし、最初の3つを同時に機能させることはできません。

      private void button2_Click(object sender, EventArgs e)
      {
        Process proc = new Process();
        proc.StartInfo.FileName = "cmd";
        proc.StartInfo.CreateNoWindow = true;
        proc.StartInfo.UseShellExecute = false;
        proc.StartInfo.RedirectStandardOutput = true;
        proc.StartInfo.RedirectStandardInput = true;

        proc.Start();
        StreamReader k = new StreamReader(proc.StandardOutput.BaseStream);

        textBox2.Text = k.ReadToEnd();            
       }

上記のコードはハングします。 RedirectStandardInputを設定しない場合、プロンプト全体を表示できます。また、StandardInputのライターを閉じると、コマンドを実行できますが、プロンプトは表示されず、繰り返すこともできません。では、プロンプトを表示してコマンドを実行し、出力を繰り返し表示するにはどうすればよいですか?

Console2 のコマンドラインの動作を再現したいと思っていますが、少し圧倒されています。ソースコードです。

役に立ちましたか?

解決

http://www.codeproject.com/cs/library/CommandLineHelperを確認します。 asp

[marc_s] URLにより404ページが見つかりません。

正しいURLは次のとおりです: http://www.codeproject.com/ KB / string / CommandLineHelper.aspx

他のヒント

あなたはできないと思う。コンソールコマンドプロンプトを表示すると、出力を読み取ることができなくなります。プロセスの出力を読み取る場合は、独自のコマンドプロンプトを描画する必要があると思います。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top