借鉴3742668的10进制转换成16进制
@echo off
setlocal enabledelayedexpansion
set /p Source=输入十进制数字:
set /a Source=%Source%||pause&&goto :eof
:dosomething
set /a Remain = %Source% %% 33
set /a Source /= 33
call :Switch %Remain%
set CoResult=%Remain%%CoResult%
if %Source% lss 33 goto Result
goto dosomething
:Switch
set Num=-1
for %%n in (0 1 2 3 4 5 6 7 8 9 A B C D E F G H J K L M N P Q R S T V W X Y Z) do (
set /a Num+=1
if "%1" == "!Num!" set Remain=%%n
)
goto :eof
:Result
call :Switch %Source%
if "%Remain%" == "0" set Remain=
set 结果=%Remain%%CoResult%
set Source=
set Remain=
set CoResult=
echo.
echo.结果: %结果%
echo.
pause