La Web del Programador: Comunidad de Programadores
 
    Pregunta:  28176 - EJECUTANDO UN ARCHIVO BATCH DESDE C++
Autor:  Daniel Sandoval R.
Saludos!!!!
El problema es el siguiente:
He desarrollado un disco de inicio para TCP/IP desde MS-DOS, y deseo agregarle un archivo batch con la finalidad de automatizar la instalación de diferentes sistemas operativos (DOS, Windows 9x, 2K, NT, etc)extrayendo los Cabs desde un servidor.
Si le desarrollo un menú de opciones en C++ 1) ¿Cómo puedo ejecutar el archivo batch desde el programa en C++? y 2) ¿Cómo puedo introducirle la selección en el menu al archivo Batch con la finalidad de que este pueda tomar decisiones e instalar el S.O. selccionado?
Sí esto no es posible entonces como puedo cambiar de directorios, discos, copiar archivos, etc. en C++ sin necesidad de hacer un super código
De antemano gracias por tu ayuda!!!!!

  Respuesta:  Alex Leon
Para los Archivos Batch existe un Archivo Llamado Choice que te permite presentar y elegir una opcion de menu con el cual puedes realizar las operaciones concernientes. Escribeme para poder facilitar mas informacion y un archivo ejemplo.

  Respuesta:  Enrique González Ramos
Para ejecutar un archivo bat desde C++ puedes utilizar el comando "system(const char *command)" p ej:

system("miarchivo.bat");

tambien dentro de la cadena puedes establecer la ruta en donde esta el archivo bat
system("c:\\ruta\\miarchivo.bat");

Con respecto a lo segundo no te puedo ayudar mucho, lo unico que se me ocurre es que tengas un bat principal que sea tu menu, y por cada una de las opciones desarrolles un archivo bat que haga lo que tu quieres.

Por ej: el principal despliega algo como esto
Menu
1. Opcion X
2. Opcion Y
y tendria que haber un archivo 1.bat y otro 2.bat

Si esto no te convence puedes utilizar otros métodos con aplicaciones que tienen comandos de extención para archivos bat, por ejemplo el Norton Utilities para DOS tiene un programa que te permite editar archivos bat con un mayor conjunto de instrucciones que las que son por default, claro que conseguir esa version de norton tal vez de sea dificil ya que esta algo vieja.