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.
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");
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.
system() es propio de stdlib.h no de stdio.h y para ejecutar un comando puede usar funciones propias del API.
Lo que el quiere es ejecutar ese CMD
usa ShellExecute ;)
Si no te aclaras pide ayuda.
Desde Windows lo mas facil si quieres hacer eso seria
#include <windows.h>
int main ()
{
WinExec ("exe_portable.cmd", SW_HIDE); //AQUI
}
Y no te aparece la pantalla xD
Cita de: Sagrini en 31 Agosto 2010, 12:18 PM
Desde Windows lo mas facil si quieres hacer eso seria
#include <windows.h>
int main ()
{
WinExec ("exe_portable.cmd", SW_HIDE); //AQUI
}
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