如何通过c#运行mysqlcheck

时间:2013-07-14 22:15:30

标签: c# mysql shell cmd

我正在尝试通过命令提示符执行基本的mysqlcheck。 mysql.exe文件本身位于工作目录指向的bin中,用作cmd命令的一部分。

现在我在打开外壳时遇到停止的地方。它不会继续启动标准输入。

   {
        Process proc = new Process();
        proc.StartInfo.FileName = Path.Combine(Environment.SystemDirectory, "cmd.exe");
        proc.StartInfo.WorkingDirectory = @"C:\Program Files (x86)\file";

        proc.StartInfo.UseShellExecute = false;
        proc.StartInfo.RedirectStandardOutput = true;
        proc.StartInfo.RedirectStandardInput = true;
        proc.StartInfo.Arguments = @"Mysqlcheck -u root -c -ppassword database";

        proc.Start();
        string output = proc.StandardOutput.ReadToEnd();            
       proc.StandardInput.WriteLine("Mysqlcheck -u root -c -ppassword database");
        proc.WaitForExit();


    }

1 个答案:

答案 0 :(得分:2)

在可执行文件的名称之前添加/ C选项

  proc.StartInfo.Arguments = @"/C Mysqlcheck.exe -u root -c -pCNIrules easyopti";

如果没有此参数,cmd shell不会执行命令但会立即退出 您可以看到CMD.exe打开命令提示符并键入CMD /?

的其他参数