1
私のプログラムにはcmdが含まれていましたが、新しいcmdを開始するので "cd"や "@echo off"のようなコマンドは使用できませんコマンドごとに私のプログラムにcmdを含める方法(単一のコマンドだけでなく)
if (e.KeyChar == (char)13)
{
Process cmd = new Process();
cmd.StartInfo.FileName = "cmd.exe";
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;
cmd.Start();
cmd.StandardInput.WriteLine(textBox1.Text);
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
cmd.WaitForExit();
richTextBox1.Text = cmd.StandardOutput.ReadToEnd();
}
それがどうあるべきか:あなたはTextBox1テキストを入力し、Enterキーを押し、コマンドでTIPE場合、richtextbox1は、出力を表示する必要があり、あなたがしたい場合は、次のコマンド
これを見てください:https://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds_shelloverview.mspx?mfr=true複数のコマンドを実行する方法を示します一行に適切な区切り文字で文字列を作成し、すべてのコマンドを一度に渡すだけです。 –
しかし、次のコマンド(dirのような)にtipeする前に出力を見たい場合は、 – SinOfficial
あなたのプログラムの中に一時的なバッチを作成して、それを実行することができます。しかし、あなたがしたいことを本当に知らなくても、より多くを提案するのは難しい – Icepickle