[ Foro de C# ]

Ejecutar .bat desde c#

10-Mar-2017 15:43
da fa
1 Respuestas

Hola tengo el siguiente problema, tengo un aplicativo que estoy desarrollando, tengo que ejecutar un .bat, que se encuentra en otro disco, en su caso el E:
Este es el código,

case "8":
   System.Diagnostics.Process proc08 = new System.Diagnostics.Process();
   System.Diagnostics.Process proc = new System.Diagnostics.Process();
   proc.EnableRaisingEvents = false;
   proc.StartInfo.FileName = (@"E:\MT\util\kill.bat");
   proc.StartInfo.RedirectStandardInput = true;
   proc.StartInfo.RedirectStandardOutput = true;
   proc.StartInfo.CreateNoWindow = false;
   proc.StartInfo.UseShellExecute = false;
   proc.Start();
   proc.WaitForExit();
   break;

y este el .bat

pskill java_FR008

del E:\....\database /Q

cd E:\MT\tablero\bin\
start "FR TABLERO DE CONTROL" StartTableControlSucursal.bat

cd E:\MT\sac\bin\
start "FR SAC" sac.bat
pause
exit

El problema es que no lo ejecuta bien, si ejecuto desde la ubicación manualmente el .bat funciona bien, pero desde el aplicativo de c# tira error que no encuentra el archivo. osea levanta el .bat, pero los comandos dentro tiran error que no encuentra.
Alguna idea.


14-Mar-2017 16:01
Nacho Cabanes (+31)

Para minimizar problemas, prueba a lanzarlo desde un programa lo más pequeño posible. Puedes probar con

Process proc = Process.Start("E:\\MT\\util\\kill.bat");

Puedes añadir proc.WaitForExit(); para que haga una pausa, e incluso comprobar el valor devuelto con    proc.ExitCode  






(No se puede continuar esta discusión porque tiene más de dos meses de antigüedad. Si tienes dudas parecidas, abre un nuevo hilo.)