一尘不染

我如何在C#控制台应用程序中执行CMD命令?

mysql

cmd在Windows上制作mysqldump非常简单,只需:

打开cmd并放入mysqldump uroot ppassword数据库> c:/data.sql

这将为所需的数据库生成一个SQL转储文件。

我正在编写一个控制台应用程序,因此我可以运行以下命令:

-uroot -ppass databse  > location\data.sql

我尝试以下代码无济于事:

System.Diagnostics.ProcessStartInfo procStartInfo =
    new System.Diagnostics.ProcessStartInfo("cmd", "/c " + cmd);

如何启动cmd进程并成功发送命令?


阅读 906

收藏
2020-05-17

共1个答案

一尘不染

为什么不直接调用mysqldump是有原因的?

ProcessStartInfo procStartInfo = 
    new ProcessStartInfo("mysqldump", "uroot ppassword databse > c:/data.sql");

如果 有原因的,你的代码应该是这样的:

ProcessStartInfo procStartInfo = 
    new ProcessStartInfo("cmd", 
        "/c \"mysqldump uroot ppassword databse > c:/data.sql\"");

变化:

  • 您在cmd变量中缺少“ mysqldump”的位置。
  • 您应该在命令行中将要执行的命令放在引号中。
2020-05-17