首頁 > 後端開發 > C++ > 如何在單一 .NET 進程中執行多個 DOS 和 MySQL 指令?

如何在單一 .NET 進程中執行多個 DOS 和 MySQL 指令?

Barbara Streisand
發布: 2024-12-29 15:39:12
原創
390 人瀏覽過

How to Execute Multiple DOS and MySQL Commands within a Single .NET Process?

使用.NET 使用同一進程執行多個命令行

在這篇文章中,我們解決了在不創建每個都有新的流程。目標是啟動 DOS 指令 shell,轉換到 MySQL 指令 shell,並無縫執行指令。

提供的初始程式碼片段嘗試使用 ExecuteCommand 方法來實現此目的。然而,為了提高效率並避免創建多個進程,需要更精細的方法。

解決方案在於重定向標準輸入並利用 StreamWriter 將指令引導到現有進程中。以下是修改後的程式碼:

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 -u root -p");
        sw.WriteLine("mypassword");
        sw.WriteLine("use mydb;");
    }
}
登入後複製

在此程式碼中,我們建立一個 Process 物件並將其配置為使用 cmd.exe。透過將 RedirectStandardInput 設為 true,我們可以啟用標準輸入的重定向。然後,我們實例化一個 StreamWriter 對象,並使用它直接將命令寫入進程的輸入流。

這種方法可讓您在同一進程中執行多個命令,從而簡化應用程式的流程。

以上是如何在單一 .NET 進程中執行多個 DOS 和 MySQL 指令?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板