La Web del Programador: Comunidad de Programadores
 
    Pregunta:  54198 - COMO EJECUTAR UN FICHERO.BAT CON C++
Autor:  Luis Alberto Rouco Ramirez
Hola buenas tardes.

Estoy haciendo un programa para Instalar todas las actualizaciones de Windows XP sin necesidad de conectarse a internet para descargarlas.

Previamente me he descargado las actualizaciones y mediante un fichero.bat he dado las ordenes oportunas para su perfecta ejecucion. He de decir que dicho fichero se ejecuta perfectamente, pero a la hora de ponerlo en el lenguaje C++, me sale un error de MS-DOS y me da como opcion cerrar la ventana u omitir. Si Omito aun asi el programa no se ejecuta.

Os copio el codigo fuente para ver que es lo que estoy haciendo mal, y que alguno de vosotros por favorm e ayude para ver como poder ejecutarlo.

switch(o)
{
case 1:
system ("d:\\sp2.bat");
break;
/*case 2:
();break;*/
case 3:
{gotoxy(30,40);
printf("­­­­­­­­­­SALIR!!!!!!!!!!");
break;
default:
gotoxy(20,40),printf("Opcion Incorrecta. Seleccione otra opcion");}

}

con este codigo el fichero no se ejecuta. Por favor ayudenme.

un Saludo y espero Vuestras noticias.

  Respuesta:  Alberto Ramón Márquez
Saludos,
me parece buena idea eso de crear un autoejecutable para instalar las actualizaciones, he realizado un código que quizá te sea útil ya que abre el programa que elijas solamente especificando la ruta del archivo.

Código:

// Abrir aplicación
// @author Alberto Ramón Márquez

#include <windows.h>

int main(int argc, char *argv[]){

// Cambia "C:\Programa\Programa.exe" por "d:\sp2.bat" que es donde tienes // archivo .bat y solamente lanzando esta aplicación se abrirá el archivo .bat
ShellExecute(NULL, "open", "C:\Programa\Programa.exe", NULL, NULL, SW_SHOWNORMAL);

}

Espero haberte ayudado.
Un saludo