そのような文字列を入力するだけでは、標準入力には渡されません。ファイルを渡す最初の例のように、いくつかの入力を指示する必要があります。
コマンドラインの一部として文字列が本当に必要な場合は、echoなどを使用して適切なテキストをパイプする必要があります。ただし、echoは改行をサポートしていないため、各行を個別にエコーする必要があります。
(エコーライン1&エコーライン2&エコーライン3)| p4クライアント-i
それはかなりすぐにかなり醜くなるでしょう。
あなたは本当にc#からこれを行う方法を知りたいように思われるので、コマンドラインプロセスを起動して入力を供給する非常に大まかな準備ができた例を次に示します。
ProcessStartInfo s_info = new ProcessStartInfo(@"sort.exe");
s_info.RedirectStandardInput = true;
s_info.RedirectStandardOutput = true;
s_info.UseShellExecute = false;
Process proc = new Process();
proc.StartInfo = s_info;
proc.Start();
proc.StandardInput.WriteLine("123");
proc.StandardInput.WriteLine("abc");
proc.StandardInput.WriteLine("456");
proc.StandardInput.Close();
String output = proc.StandardOutput.ReadToEnd();
System.Console.Write(output);