执行多个命令而不使用 .NET 创建新进程
要高效执行多个命令而不为每个命令创建新进程,您可以重定向标准输入并利用 StreamWriter 写入标准输入。以下是修改代码的方法:
using System.Diagnostics; namespace ExecuteMultipleCommands { class Program { static void Main(string[] args) { Process p = new Process(); ProcessStartInfo info = new ProcessStartInfo(); info.FileName = "cmd.exe"; info.RedirectStandardInput = true; info.UseShellExecute = false; p.StartInfo = info; p.Start(); using (StreamWriter sw = p.StandardInput) { if (sw.BaseStream.CanWrite) { sw.WriteLine("mysql --user=root --password=sa casemanager"); sw.WriteLine("your-query-here"); sw.WriteLine("exit"); } } } } }
此更新的代码将启动 DOS 命令 shell,通过输入“mysql --user=root --password=sa casemanager”切换到 MySQL 命令 shell,执行你想要的MySQL查询,最后输入“exit”退出MySQL shell。
通过使用StreamWriter写入shell进程的标准输入,你可以有效地执行多个命令在单个流程中,简化流程执行并提高整体性能。
以上是如何在单个 .NET 进程中执行多个命令而不创建新进程?的详细内容。更多信息请关注PHP中文网其他相关文章!