- @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>nul
复制代码
[ 本帖最后由 stalker 于 2008-11-19 17:11 编辑 ] |