Pues si lo quieres hacer así, Deberías duplicar el código dentro del propio bat...
:Eng
El código entero en ingles...
:Spa
El código entero en español...
PD: Bueno no es necesario duplicarlo todo... a las funciones importantes donde no haya texto que mostrar (En ningun idioma) las puedes llamar usando CALL...
Voy a hacerte como iria, a ver si va bien:
Tengo los Inis: esp.ini, eng.ini; por ejemplo
Luego,
Yo tengo un bat, me pide el idioma, ok.
Cuando lo selecciona pongo por ejemplo:
if "
%lang%"=="0"
echo esp
> lang.txt
if "
%lang%"=="1"
echo eng
> lang.txt
Luego:
for /f "tokens=*"
%%x in (lang.txt
) do (%%x
For /F "Tokens=2 Delims=="
%%a in ('Type "
%lang1%.ini"
^| Find "1="'
) Do (set saludo=
%%a) For /F "Tokens=2 Delims=="
%%a in ('Type "
%lang1%.ini"
^| Find "2="'
) Do (set Selecciona=
%%a) For /F "Tokens=2 Delims=="
%%a in ('Type "
%lang1%.ini"
^| Find "3="'
) Do (set autor=
%%a) For /F "Tokens=2 Delims=="
%%a in ('Type "
%lang1%.ini"
^| Find "4="'
) Do (set opcion_menu=
%%a)
Todo esto al principio del Batch, claro...
Que como lo ves?
por cierto, eso de |MORE, que hace...
Un saludo.