RE:Ejecutar Batch Files esperando respuesta
Pues mira, no es que no se pueda, sino que no es la mejor opción ejecutar archivos BAT porque el BAT puede tronar y te quedas chiflando en la loma.
Te recomiendo mejor que evalues hacer mejor lo siguiente:
1.- Haz un plan de ejecución, en un XML es ideal.
2. Usa:
foreach (XmlNode ScriptFile in sqlScriptFiles)
{
ProcessStartInfo psi = new ProcessStartInfo(ScriptFile);
psi.Arguments = String.Format("-S {0}", "ArgumentoS");
cmdExc = Process.Start(psi);
do
{
if (!cmdExc.HasExited)
{
cmdExc.Refresh();
}
}
while (!cmdExc.WaitForExit(500)); //Se espera mientras termina
bool success = (cmdExc.ExitCode == 0);
if (!success)
{
.... Código si hubo error en este paso
}
}
Esto es lo que yo te recomiendo, es mucho mejor que usar un BAT ya que si te da hueva o no le entendiste pues usa solo esto:
string ScriptFile = @"c: emparchivo.bat";
ProcessStartInfo psi = new ProcessStartInfo(ScriptFile);
cmdExc = Process.Start(psi);
do
{
if (!cmdExc.HasExited)
{
cmdExc.Refresh();
}
}
while (!cmdExc.WaitForExit(500)); //Se espera mientras termina
bool success = (cmdExc.ExitCode == 0);
if (!success)
{
.... Código si hubo error en este paso
}