私は現在、私が書いたbashスクリプトをC#に「変換」しようとしています。 このスクリプトは、シェルでプログラムを起動してから、このシェルでいくつかのコマンドを実行し、次のようになります。引数とC#の複数のコマンドで.exeを実行しています
cd /$MYPATH
./executible -s << EOF
start_source_probe -hardware_name "USB" -device_name "@1: EP3C(10|5)"
write_source_data -instance_index 0 -value "11111"
write_source_data -instance_index 0 -value "10111"
write_source_data -instance_index 0 -value "00111"
exit
EOF
今私は、Visual Studio C#を使用して同じことをしたいと思います。私の試みは、このようになります瞬間 :(コードでそれを「//」で)アクティブにコメントを
ProcessStartInfo startInfo = new ProcessStartInfo();
startInfo.WorkingDirectory = "pathToExe\\";
startInfo.FileName= "executible.exe";
startInfo.Arguments= "-s";
//startInfo.UseShellExecute = false;
//startInfo.RedirectStandardInput = true;
Process proc = new Process();
proc.StartInfo = startInfo;
proc.Start();
//StreamWriter myStreamWriter = proc.StandardInput;
//Console.WriteLine("start_source_probe - hardware_name \"USB\" -device_name \"@1: EP3C(10|5)\"");
//Console.WriteLine("write_source_data -instance_index 0 -value \"11111\"");
proc.WaitForExit();
私は(シェルの略-s)シェルを開くために管理しますが、どのように私、私は疑問に思いますこのシェルでコマンドを追加実行することができます。 私は "誰かが引数を追加する方法を私に言うことができる場合、私はそれをお願い申し上げます(限り、先の出力は、私が推測するに異なるので、私はシェルを起動していないですと)この
const string strCmdText = "/C command1&command2";
Process.Start("CMD.exe", strCmdText);
ようなもので、複数のコマンドを実行するために管理-s "を実行し、開始したプロセスでコマンドを実行します。
cmd.exeを使って複数のコマンドを実行するのは難しいです。 .cmdファイルにコマンドを書き出して実行する方が良いでしょう。 .cmdファイルには "通常の"バッチ構文があります。 – Clay