Gracias, pero al final desarrollé
esto que me sirve perfectamente ^^
EDITO:Pues al final no es tan facil como esperaba.. no se porque no me funciona esto:
@echo on
setlocal enabledelayedexpansion
:main
cls
set/p "texto=String>> "
set/a cont=0
call :lenght
cls
set "string=%texto%"
for /l %%_ in (1,1,%cont%) do (
if ["!let[%%_]!"]==["A"] (set "string=%string:A=1%")
if ["!let[%%_]!"]==["B"] (set "string=%string:B=2%")
if ["!let[%%_]!"]==["C"] (set "string=%string:C=3%")
if ["!let[%%_]!"]==["D"] (set "string=%string:D=4%")
if ["!let[%%_]!"]==["a"] (set "string=%string:a=5%")
if ["!let[%%_]!"]==["b"] (set "string=%string:b=6%")
if ["!let[%%_]!"]==["c"] (set "string=%string:c=7%")
if ["!let[%%_]!"]==["d"] (set "string=%string:d=8%")
)
echo.%texto%
echo.
echo.%string%
pause
exit
:lenght
set "var=!texto:~%cont%,1!"
if not defined var (goto:eof)
set/a cont+=1
set "let[%cont%]=%var%"
goto:lenght
Si introduzco
abcd la salida debería ser
5678, y si introduzco
ABCD debería ser
1234.
Porque no distingue mayus. de minus.??
Lo peor, es que tampoco funciona sin distinguir Y_Y