@echo off
set code=1 2 3 4 5 6 7 8 9 a b c d e f&set m=1
set /p str=请输入16进制数字:
:lp
set a=%str:~-1%
for %%i in (%code%) do set /a n+=1&if "%%i" equ "%a%" call,set a=%%n%%
set /a num+=m*a
set /a m*=16,n=0
if defined str set str=%str:~,-1%&goto lp
echo %num%&pause>nul