how i can execute CMD command in c# console application?

63,604

Solution 1

Is there a reason why you don't call mysqldump directly?

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

If there is a reason, your code should look like this:

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

Changes:

  • You where missing "mysqldump" in your cmd variable.
  • You should put the command to be executed in the command line into quotes.

Solution 2

Process cmd = new Process();

cmd.StartInfo.FileName = "cmd.exe";
cmd.StartInfo.RedirectStandardInput = true;
cmd.StartInfo.RedirectStandardOutput = true;
cmd.StartInfo.CreateNoWindow = true;
cmd.StartInfo.UseShellExecute = false;

cmd.Start();

/* execute "dir" */

cmd.StandardInput.WriteLine("dir");
cmd.StandardInput.Flush();
cmd.StandardInput.Close();
Console.WriteLine(cmd.StandardOutput.ReadToEnd());

Solution 3

Do you run Process.Start(psi) with the ProcessStartInfo instance you have just created?

Anyway, the following should do the work:

string commandToExecute = @"c:\windows\system32\calc.exe";
Process.Start(@"cmd", @"/c " + commandToExecute);

Solution 4

Executing Batch File in C#

Check it out.

Share:
63,604

Related videos on Youtube

Grant Thomas
Author by

Grant Thomas

https://twitter.com/#!/eitherxor

Updated on March 25, 2022

Comments

  • Grant Thomas
    Grant Thomas about 2 years

    It's very simple to make a mysqldump in cmd on windows, simply:

    Open cmd and put type mysqldump uroot ppassword database > c:/data.sql

    This results in an SQL dump file for the desired database.

    I'm writing a console application so I may run this command:

    -uroot -ppass databse  > location\data.sql
    

    I tried the following code to no avail:

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

    How might I start a cmd process and send my command successfully?

    • Mos
      Mos about 13 years
      You should elaborate what is the error, what happens.. maybe CMD can't be found try to put full path in there
    • goorj
      goorj about 13 years
      Is it safe to add the password on the command line...?
  • Admin
    Admin about 13 years
    reason is simple. newbie never can do that whenever they not know everything properly. i make it to help them then they can easily do that.
  • smoothumut
    smoothumut over 6 years
    that is exactly what I am looking for, thanks friend