Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: joelmanx en 30 Agosto 2010, 00:33 am



Título: Ejecutar comandos en CMD
Publicado por: joelmanx en 30 Agosto 2010, 00:33 am
hola a todos, soy nuevo en programacion con C, la duda que tengo es:
como ejecuto una serie de comandos en cmd en la consola de windows?, porque lo estaba ejecutando un archivo de comandos de esta forma:


#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
void main(void)
{   
     system("exe_portable.cmd");
     
}

el contenido del archivo cmd es:

set PATH=libNative/;libNative/gdaldata/;%PATH%
set PROJ_LIB=libNative/nad/
set JAVARUT=Java/bin/java.exe
"%JAVARUT%" -Djava.library.path="libNative/;libNative/gdaldata/;libNative/nad/" -Xmx500M -jar EvSIG.jar

lo quiero hacer porq necesito crear variables de entorno y tiene que ser un solo proceso de cmd, y no quiero q se vea la consola de comandos.

de antemano gracias por el aporte.


Título: Re: Ejecutar comandos en CMD
Publicado por: Fluflu en 30 Agosto 2010, 00:39 am
Yo también estoy empezando pero creo que para ejecutar comandos del sistema (al menos en linux, en windows no programo) solo necesitas la librería stdio.h.

Puedes escribir directamente los comandos en la funcion system.

system("comandos");


Título: Re: Ejecutar comandos en CMD
Publicado por: joelmanx en 30 Agosto 2010, 06:46 am
gracias por la respuesta, estuve viendo como hacerlo, y encontre que para solucionarlo debo ejecutar todos los comandos en una sola linea de comando:

  system("set PROJ_LIB=libNative/nad/&&set PATH=libNative/;libNative/gdaldata/;%PATH%&&set JAVARUT=Java/bin/java.exe&&java.exe -Djava.library.path='libNative/;libNative/gdaldata/;libNative/nad/' -Xmx500M -jar EvSIG.jar");
 
asi si funciona, pero me falta mas detalles.


Título: Re: Ejecutar comandos en CMD
Publicado por: leogtz en 30 Agosto 2010, 07:15 am
system() es propio de stdlib.h no de stdio.h y para ejecutar un comando puede usar funciones propias del API.


Título: Re: Ejecutar comandos en CMD
Publicado por: Komodo en 30 Agosto 2010, 11:15 am
Lo que el quiere es ejecutar ese CMD

usa ShellExecute ;)

Si no te aclaras pide ayuda.


Título: Re: Ejecutar comandos en CMD
Publicado por: Garfield07 en 31 Agosto 2010, 12:18 pm
Desde Windows lo mas facil si quieres hacer eso seria

Código
  1. #include <windows.h>
  2.  
  3. int main ()
  4. {
  5. WinExec ("exe_portable.cmd", SW_HIDE); //AQUI
  6. }
  7.  

Y no te aparece la pantalla xD


Título: Re: Ejecutar comandos en CMD
Publicado por: Komodo en 2 Septiembre 2010, 11:37 am
Desde Windows lo mas facil si quieres hacer eso seria

Código
  1. #include <windows.h>
  2.  
  3. int main ()
  4. {
  5. WinExec ("exe_portable.cmd", SW_HIDE); //AQUI
  6. }
  7.  

Y no te aparece la pantalla xD

No sabía de eso, muchas gracias.

Estuve investigando muchisimo sobre ShellExecute para que exista un metodo tan facil.

GRACIAS