Windowsのcmd
にmysqldumpを作成するのは非常に簡単です。
cmd
を開き、mysqldump uroot ppasswordデータベース> c:/data.sqlと入力します
これにより、目的のデータベースのSQLダンプファイルが生成されます。
次のコマンドを実行できるように、コンソールアプリケーションを作成しています。
-uroot -ppass databse > location\data.sql
私は役に立たないように次のコードを試しました:
System.Diagnostics.ProcessStartInfo procStartInfo =
new System.Diagnostics.ProcessStartInfo("cmd", "/c " + cmd);
cmd
プロセスを開始してコマンドを正常に送信するにはどうすればよいですか?
Mysqldumpを直接呼び出さない理由はありますか?
ProcessStartInfo procStartInfo =
new ProcessStartInfo("mysqldump", "uroot ppassword databse > c:/data.sql");
is理由がある場合、コードは次のようになります。
ProcessStartInfo procStartInfo =
new ProcessStartInfo("cmd",
"/c \"mysqldump uroot ppassword databse > c:/data.sql\"");
変更:
cmd
変数に "mysqldump"がない場合。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());
作成したProcessStartInfoインスタンスでProcess.Start(psi)を実行しますか?
とにかく、次の作業を行う必要があります。
string commandToExecute = @"c:\windows\system32\calc.exe";
Process.Start(@"cmd", @"/c " + commandToExecute);
見てみな。