Diagnostics.Process - 转储输出到文件

EBA*_*BAG 3 c#

嗨,我需要将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输出可能变得非常大......任何解决方案?

xcu*_*cud 5

尝试通过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)