[ Foro de C# ]
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.
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.)