@echo off & setlocal enabledelayedexpansion & set "h=" & set "b=" set "a=123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyz" set /p "h=Hex=" & set "c=!h!a" & set "z=%a:~0,1%" & set /a n=0 :1 if defined h (set /a n+=1) else goto 2 set /a "d%n%=0x%h:~-6%" & set "h=%h:~0,-6%" & goto 1 :2 set /a e=0,f=0 & for /L %%i in (%n%,-1,1) do ( set /a "d%%i+=e<<24,e=d%%i%%58,f|=d%%i/=58") set "b=!a:~%e%,1!%b%" & if %f% neq 0 goto 2 if "%b%"=="%z%" set "b=" :3 if "%c:~0,2%"=="00" set "b=%z%%b%" & set "c=%c:~2%" & goto 3 if defined b echo Base58=%b% & pause