Mira, Batch, en realidad no es un lenguaje, solamente es un script, que usa otros programas/comandos... Por ejemplo, no son instrucciones las que les das, son usos de otros programas, si pones "ping localhost -n 3>nul" Estas usando el programa "ping.exe" de la carpeta %systemroot%\system32\ping.exe
Pero ahora basta de explicaciones y vamos al tema...
Si vos todavía no haces una calculadora en batch (sin ofender, de verdad), no tenes que estar pensando en otro lenguaje para aprender después, primero tomate tu tiempo para aprender el lenguaje en el que estas, y recién después te pones a buscar otro lenguaje...
El tema de que es muy pobre/limitado, es por lo que explique al principio, no son instrucciones sino programas, por ejemplo si vos querés hacer eso de cuando cerrás te salga un mensaje, no podes, porque no hay ningún programa en la carpeta del sistema que haga eso...
Seguidamente voy a poner una calculadora que hice yo en mis tiempos libres (cuando estaba al pedo xD)
echo off
color c
title Calculadora By EsTeBaN~
:menu
cls
echo.
echo _____________
echo { The CalC :D }
echo -------------
echo.
echo Copyright EsTeBaN~ [Argento - HacK] TeaM © 2007
echo.
echo.
set /p n1=Introduce el Nro. 1:
set /p sym=Introduce el simbolo:
set /p n2=Introduce el Nro. 2:
if %sym%==/ (goto dividir) else (cls)
set a=0
set /a a=%n1%%sym%%n2%
echo La cuenta es:
echo.
echo %n1%
echo %sym%
echo %n2%
echo --------
echo %a%
echo.
pause
goto menu
:dividir
cls
set a=0
set /a a=%n1%%sym%%n2%
echo La cuenta es:
echo.
echo %n1% \ %n2%
echo -----------
echo %a%
echo.
pause
goto menu
Con ese mínimo code, tiene un mínimo visual (quiero decir con lo de dividido) y está bastante bien hecha, lo único que le falta es que soporte números decimales, pero por todo lo otro anda perfectamente y tiene muy pocas líneas de codigo...
Esto se deve a que los programas tienen todo el codigo adentro (A los programas me refiero por ejemplo al "set") entonces con usar el programa "set" en el batch, ya hacemos todo el code que contiene el programa, en una sola línea...
Esto solamente lo digo explicando como funciona el "casi-lenguaje" de programación de BATCH...
Espero que me hallan entendido y no piensen: "Este inútil está diciendo cualquier cosa" ya que tengo muuucha experiencia con batch...
Saludos