ehh sigue sin funcionarme...

si lo pongo al principio como tu dices no ejecuta los comandos...no entiendo porque...ya entendi el code tuyo y en teoria deberia funcionar...ejecuto un batch ad.bat..por ejemplo.. ese ad.bat hace crear otro ejecuter.bat q vuelve a ejecutar al mismo ad.bat en modo oculto... y se colocan las variables %var1% para q cuando lo vuelva a ejecutar al ad.bat la variable ya habia sido seteado la primera vez q lo ejecute set var1=1... entonces sigue con el resto del code mediante la linea :
if %var1% == 1 (goto seguir) else (goto ejecutar)
si lo pongo al final si se ejecutan..

pero lo malo es q si pongo comandos de debug.. para compilar un programa en el mismo batch.. si sale la ventana.. no tapa eso...no se porq sera..

porque ocurrira esto?¿
gracias por la ayuda!

edito: probe pasar cada linea del programa en el cmd...y pasa lo siguiente..
le paso esto:
echo start /b ad.bat >> ejecuter.bat
luego esto:
start /b ejecuter.bat && set a=1
y me sale lo siguiente: "No se esperaba (goto en este momento"

no entendi bien esoo jaja
luego sin cerrar ni nada vuelvo a pasaarle la linea para corroborar lo q decia:
paso :
start /b ejecuter.bat && set a=1
y para mi sorpresa si se ejecutan los comandos...

jaja sera una falla del mismo cmd...

q se yo....jeje

el code q probe era el siguiente:
@echo off
if %a%==1 (goto abc) else goto ejecutar
:ejecutar
echo start /b ad.bat >> ejecuter.bat
start /b ejecuter.bat && set a=1
:abc
msg * "holass"
md %random%
exit