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