Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Melaksanakan Berbilang Perintah DOS dan MySQL dalam Proses .NET Tunggal?
Melaksanakan Berbilang Baris Perintah dengan Proses Yang Sama Menggunakan .NET
Dalam siaran ini, kami menangani cabaran untuk melaksanakan berbilang arahan tanpa membuat proses baru untuk setiap. Matlamatnya adalah untuk memulakan shell arahan DOS, peralihan kepada shell arahan MySQL dan laksanakan arahan dengan lancar.
Coretan kod awal yang disediakan cuba mencapai ini menggunakan kaedah ExecuteCommand. Walau bagaimanapun, untuk meningkatkan kecekapan dan mengelak daripada mencipta pelbagai proses, pendekatan yang lebih halus diperlukan.
Penyelesaian terletak pada mengubah hala input standard dan menggunakan StreamWriter untuk menyalurkan arahan ke dalam proses sedia ada. Berikut ialah kod yang disemak:
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;"); } }
Dalam kod ini, kami mencipta objek Proses dan mengkonfigurasinya untuk menggunakan cmd.exe. Dengan menetapkan RedirectStandardInput kepada benar, kami mendayakan pengalihan input standard. Kemudian, kami membuat instantiate objek StreamWriter dan menggunakannya untuk menulis arahan terus ke dalam aliran input proses.
Pendekatan ini membolehkan anda melaksanakan berbilang arahan dalam proses yang sama, memperkemas aliran aplikasi anda.
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Berbilang Perintah DOS dan MySQL dalam Proses .NET Tunggal?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!