Ejecutar comand DOS con ShellExecute?

Iniciado por t4r0x, 27 Octubre 2016, 05:53 AM

0 Miembros y 1 Visitante están viendo este tema.

t4r0x

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%"


fary

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.
Un byte a la izquierda.