联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@echo off :enter set /a n+=1 set /a m=3-%n% cls set /p pwd=请输入密码(你总共有三次输入机会): if "%pwd%"=="cn-dos" goto begin cls if %m% equ 0 echo 对不起,由于三次都没正确输入密码,程序将自动退出&ping /n 2 127.1>nul&goto :eof echo 密码不正确,你还剩%m%次机会,请返回正确输入&ping /n 2 127.1>nul&goto enter :begin cls echo 密码正确,下面开始程序运行... pause
@echo off setlocal enabledelayedexpansion for /l %%i in (2 -1 0) do ( ping 127.0|set /p="请输入密码:" set /p pwd= if "!pwd!"=="abc" (goto main) else echo 密码错误!还有%%i次机会! pause&cls ) echo 超过三次限制!系统自动退出 ping 127.0>nul exit /B :main cls echo 欢迎进入国防系统! pause
::df6fhfdhsfsfdgdasdfgs3f8dgd7fhgdsjkf @echo off ::code 26933062 2008-04-17 set /p code=<"%~0" set "code=%code:~2%" setlocal EnableDelayedExpansion call :lis "%code%" endlocal&set "code=%a%" set /a ci=3 :ccc cls echo\&echo 你还有 %ci% 次机会 echo\&echo 正确密码是:%code% echo\&set /p mm= 请输入密码: if /i "%mm%"=="%code%" goto ok set /a ci-=1 if %ci% equ 0 (goto cuo) else goto ccc :ok cls&echo 密码正确 echo\&echo 可直接输入新密码,直接按回车保留原密码 set /p code= setlocal EnableDelayedExpansion call :loop "%code%" endlocal&set "code=%b%%a%" echo %code% goto xie :lis set a=!a!!code:~-1,1! set code=!code:~0,-1! if not defined code goto :eof set a=!a!!code:~0,1! set code=!code:~1! if defined code goto lis goto :eof :loop set a=!code:~0,1!!a! set code=!code:~1! if not defined code goto :eof set b=!b!!code:~0,1! set code=!code:~1! if not defined code goto :eof goto loop :cuo cls&echo\&echo 密码连续输入错误,下次再试吧。。。 echo\&echo 按任意键退出。。。 echo\&pause>nul&exit :xie for /f "delims=" %%a in ('type "%~0"') do ( if not defined flag ( set flag=a >"%~0" echo ::%code% ) else >>"%~0" echo %%a )
Originally posted by zw19750516 at 2008-4-20 10:57: 厉害,确实难猜到,学习了。 别外: if not defined flag ( set flag=a... 这里flag是什么意思?set flag=a又起到什么作用啊? Last edited by zw19750516 on 2008-4-20 at 11:47 AM ]