He intentado emular lo mejor posible el programita que me pones como ejemplo. Efectivamente una de las razones por las que alguien puede querer convertir un BAT en un EXE es evitar que otras personas utilicen o adapten su BAT.
Mira a ver que más quieres sobre este BAT:
@echo off
CLS
Color b0
title Softpack 2016 - Silverlight 5.1.40620 by Charapita19
for /f "tokens=3,4,5 delims=. " %%a in ('ver') do (
if "%%a"=="XP" set vers=XP
if "%%a"=="[Versi¢n" if "%%b"=="5" set vers=XP
if "%%a"=="[Versi¢n" if "%%b"=="6" set vers=7
if "%%a"=="[Versi¢n" if "%%b"=="10" set vers=10
)
set bits=64
if not exist %systemroot%\syswow64 set bits=32
echo.
Echo La versi¢n del SO es: Windows %vers% de %bits% bits
echo.
Echo Bienvenido %username%
Echo.
echo ************************* Charapita19 *************************
Echo.
Echo Instalando Silverlight 5.1.40620 de %bits% en %bits%-PC, por favor espere...
Echo.
if "%bits%"=="32" Silverlight_x86.exe&goto :seguir
Silverlight_x64.exe
:seguir
echo ************************* Charapita19 *************************
Echo.
Echo Instalaci¢n de Silverlight 5.1.40620 ha terminado.
Echo.
Echo Para salir presiona una tecla
Pause>nul
Para que la reproducción sea lo más parecida al ejemplo (incluso en el "caption" de la ventana) debes lanzar el BAT desde el explorador de Windows como administrador. Los ejecutables de 32 y 64 bits que quieres lanzar (en este ejemplo serían de instalación del Silverlight, pero habría que ajustar la versión que se indica en el texto) se supone que tienen los nombres Silverlight_x86.exe y Silverlight_x64.exe y que están en la misma carpeta que el bat. Si no fuera así habría que poner el path completo y el nombre adecuado. Si los instalables generan sus propios mensajes de instalación y de fin de instalación se pueden evitar añadiendo un ">nul", tal como he hecho con el último comando PAUSE.
Mira a ver que más necesitas o pídeme las aclaraciones que consideres oportunas.