Esque si lo paso a pipe tal como lo hace otro programa tendría que dar a ejecución linea por linea del bat y cuando se interprete lo hará linea por linea también asi que las variables no funcionarían ni los goto tampoco y solo serviría como si estubieras insertando comandos a la consola y eso no sirve para un bat ya que aunque no destruyas el pipe cada señal de ejecución lo pasa a una ejecución nueva dentro del mismo pipe.
El peso del Stub es de 24KB y cuando lo pasas por UPX te queda en 7KB sin contar el peso del ba ni del ícono aunque el ícono si va dentro del upx asi que debería quedar masomenos con todo en unos 9kb.
El lenguaje es vb6 aunque la ejecución del stub no depende de ninguna librería que ya no venga incluida en el mismo windows.
El bat es desempaquetado en el directorio temporal y ejecutado, no usa pipes aunque el directorio de ejecución sigue siendo el mismo en donde está el ejecutable asi que llas rutas siguen intactas simulando que el bat es el ejecutable. No hay ninguna cosa que impida su normal funcionamiento ni aparecerán rutas raras ni nada.. me fijé muy bién en ese detalle.
E0N me pidió que si podía colorear el IDE, .... lo integraré al proyecto y algún dia saldrá esa actualización ya que el método lo tengo pero tengo que adaptarlo al proyecto.
Ahh.. y como dice Nakp, corre super bién con el wine de gnu/linux asi que hasta puedes generar los ejecutables desde ubuntu si quieres jaja.
Lo único que se me puede ocurrir es pasar el bat a memoria pero ahi no sabría como hacer para que el cmd interprete una cadena completa sin que haya archivo.. sinceramente no se me ocurre como ya que cmd interpreta solamente archivos y no strings como bats dentro de un bat.