我正在尝试通过命令提示符执行基本的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();
}
答案 0 :(得分:2)
在可执行文件的名称之前添加/ C选项
proc.StartInfo.Arguments = @"/C Mysqlcheck.exe -u root -c -pCNIrules easyopti";
如果没有此参数,cmd shell不会执行命令但会立即退出 您可以看到CMD.exe打开命令提示符并键入CMD /?
的其他参数