中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-12 19:47
47,811 主题排行 / 349,897 发帖 / 今日 0 篇 / 48,256 会员排行
DOS批处理 & 脚本技术(批处理室) » BatProject 0.5.0 算号器。。
可打印版本  625 / 0
第1楼 bxbian951122 发表于 2010-02-04 16:30
初级用户 发帖 8 积分 50
BatProject 0.5.0 算号器。。
PS:第一届“BP杯”批处理大赛即将开始。敬请期待。。

-----------------------------------------------------------------------------

BatProject 0.5.0 下载地址。。
http://www.bathome.net/thread-7052-1-1.html

算号器。。
@echo off
setlocal enabledelayedexpansion
set p0=48&set p1=49&set p2=50&set p3=51&set p4=52&set p5=53
set p6=54&set p7=55&set p8=56&set p9=57&set pA=65&set pB=66
set pC=67&set pD=68&set pE=69&set pF=70
:back
cls
echo Neoix
echo By Rijn
echo.
set /p 源数=请输入序列号=
for /f "skip=1 delims=:" %%i in ('^(echo "%源数%"^&echo.^)^|findstr /o ".*"') do set/a l=%%i-5
if not "%l%"=="8" (echo 字符必须满足8位&goto back)
set scanf=%源数%
set sed=85930483
set regcode=0
:loop
call set str1=%scanf:~,1%
call set numtemp=%%p%str1%%%
set /a regcode=%regcode%+%sed%-(1024%%(%numtemp%))
set "scanf=%scanf:~1%"
if defined scanf goto loop
set 源数=%regcode%
set /a 源数=%源数% || goto :eof
:dosomething
set /a 余数 = %源数% %% 16
set /a 源数 /= 16
call :转换 %余数%
set 余数=%ret%
set 计算结果=%余数%%计算结果%
if %源数% lss 16 goto end
goto dosomething
:转换
set ret=
if "%1" == "10" set ret=A
if "%1" == "11" set ret=B
if "%1" == "12" set ret=C
if "%1" == "13" set ret=D
if "%1" == "14" set ret=E
if "%1" == "15" set ret=F
if %1 lss 10 set ret=%1
goto :eof
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023