| @echo off | | 关闭命令回显 | | setlocal enableDelayedExpansion | | 启动变量延迟 | | set x=%systemroot:~-7% | | 设置x为%systemroot%(我的系统下为C:\WINDOWS)的后七个字母 | | 即x=WINDOWS | | for /l %%i in (0 1 6) do ( | | 变量%%i从0每次累加1循环到6执行以下判断 | | if /i "!x:~%%i,1!"=="D" set d=%%i | | 如果偏移%%i处为D,则设置变量d为%%i,在本机d=3 | | if /i "!x:~%%i,1!"=="S" set s=%%i | | 如果偏移%%i处为S,则设置变量s为%%i,在本机s=6 | | if /i "!x:~%%i,1!"=="N" set n=%%i | | 如果偏移%%i处为N,则设置变量n为%%i,在本机n=2 | | set "!d!=!d!!n!!s!" 2>nul | | 设置变量!d!(即3为dns,在本机即为326,这里很迷惑人!d!不是d而是3) | | ) | | set/p pwd=请输入密码: | | 等待用户输入密码 | | if "!%d:~,1%!"=="!pwd!" ( | | | | %d:~,1%截取偏移0开始的1位字符,%d%=3,因此%d:~,1%=3 | | !%d:~,1%!=!3!=326,这就是最终的密码拉(^_^) | | | | echo 这里是 BATHOME 最高机密处——欢迎进入! | | ) else (echo 非法输入,举起手来 ^^_^^) | | pause>nulCOPY |
[ 本帖最后由 stalker 于 2008-11-19 17:11 编辑 ] |