嗨,我需要将mysqldump的结果写入带有标准Windows命令的文件.
System.Diagnostics.Process proc = new System.Diagnostics.Process();
proc.EnableRaisingEvents = false;
proc.StartInfo.WorkingDirectory = "sample directory";
proc.StartInfo.FileName = "mysqldump";
proc.StartInfo.Arguments = "-u root -pPassword --all-databases > db.sql";
proc.StartInfo.RedirectStandardOutput = false;
proc.StartInfo.UseShellExecute = false;
proc.Start();
proc.WaitForExit();
Run Code Online (Sandbox Code Playgroud)
但它不会以这种方式写入文件...我不想读取输出然后将其写入文件,因为mysqldump输出可能变得非常大......任何解决方案?
尝试通过cmd.exe执行并引用命令以防止程序吞噬重定向:
proc.StartInfo.FileName = "cmd.exe";
proc.startinfo.Arguments =
"/c \"mysqldump -u root -pPassword --all-databases\" > db.sql"
Run Code Online (Sandbox Code Playgroud)