Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: t4r0x en 27 Octubre 2016, 05:53 am



Título: Ejecutar comand DOS con ShellExecute?
Publicado por: t4r0x en 27 Octubre 2016, 05:53 am
Hola como puedo ejecutar este comando de este batch usando ShellExecute y pasandolo como parametro?

en el .bat:
@ECHO OFF
SET VAR1=1
ECHO %VAR1%
pause


en C++:

ShellExecuteW(
        NULL,
        L"open",
        L"cmd.exe",
        L"/C \"SET VAR1=1 & ECHO %VAR1% & PAUSE\"",
        NULL,
        SW_SHOW
        );

desde el .bat imprime: "1" pero desde mi programa C+ este imprime "%VAR1%"



Título: Re: Ejecutar comand DOS con ShellExecute?
Publicado por: fary en 27 Octubre 2016, 15:22 pm
Te diré que no va a funcionar nunca de esa manera. Si pruebas a ejecutar una a una las ordenes desde la propia CMD tampoco.

Mi consejo es que ejecutes el .BAT directamente con ShellExecute

De igual forma si quieres otras posibles soluciones indica cual es el proposito de ejecutar comandos desde la CMD.

saludos.