Да, это возможно через класс System.Diagnostics.Process
. Вам необходимо установить RedirectStandardInput
на true
, после чего вы можете записать содержимое файла, перенаправить стандартный ввод процесса и записать содержимое файла в Process.StandardInput
(что является StreamWriter
).
Это должно помочь вам начать:
var process = new Process
{
StartInfo = new ProcessStartInfo
{
FileName = "mysql.exe", // assumes mysql.exe is in PATH
Arguments = "-u root --password=\"some-password\"",
RedirectStandardInput = true,
UseShellExecute = false
},
};
process.Start();
process.StandardInput.Write(File.ReadAllText("some-file.sql"));
Обновление: это довольно хорошо задокументировано [здесь] (
https://docs.microsoft.com/en-us/dotnet/api/system.diagnostics.processstartinfo.redirectstandardinput)