标题: [已结]这代码怎么改:批处理密码验证程序
[打印本页]
作者: provem
时间: 2008-12-12 19:14
标题: [已结]这代码怎么改:批处理密码验证程序
@echo off
if not exist bb.txt
for /f "delims=" %%i in (bb.txt) do set passwords=%%i
:begin
cls&set /p password= 请输入密码:
if "%password%"=="%passwords%" goto ok
cls&echo 密码错误&ping /n 2 127.1>nul&goto begin
:set
set select=2
cls&set /p select= 是否更改密码(默认回车为不更改):(1. 更改 2.不更改)
if %select% equ 1 goto change
if %select% equ 2 goto ok
if %select% neq 1 if %select% neq 2 goto wrong
:change
set /a n=%random%%%38,m+=1
call,set pwd=%pwd%%%code:~%n%,1%%
if %m% lss 16 goto change
echo :: %pwd%>>%~nx0
cls&echo 请保管好你的新密码:%pwd%&pause&goto :eof
:wrong
cls&echo 输入无效,请正确选择输入!&ping /n 2 127.1>nul&goto set
:ok
cls&echo 密码正确!&pause&goto :eof
这是别人写的代码,我的想法是
如果BB.txt文件不存在就提示(如果存在就根据bb.txt就执行密码验证程序)
第一次使用请设置密码:
然后保存到BB.txt文件
下次重新运行程序时
───────────────── 版务记录 ─────────────────
执行:HAT
操作:[2008-12-12]在帖子标题中增加搜索关键字
说明:原标题"大家帮我看下这代码怎么改"不利于论坛搜索
处罚:扣除2点积分
提示:建议阅读以下帖子
{1415}提问的智慧
{7326}论坛新手必读,所有人的基本行为准则
{22703}请不要做浮躁的人
{32667}[愤怒]那些连标题都写不清楚的人们啊,你们醒醒吧
{32825}本版严厉整顿烂帖
───────────────── 版务记录 ─────────────────
[
Last edited by HAT on 2008-12-13 at 22:56 ]
作者: tireless
时间: 2008-12-12 21:16
@echo off
if exist bb.txt goto next
set /p password=第一次使用请设置密码:
echo.%password%>bb.txt
:next
for /f "delims=" %%i in (bb.txt) do set passwords=%%i
:begin
cls&set /p password= 请输入密码:
...
:set 到 :wrong 这段有机会执行?
作者: provem
时间: 2008-12-13 01:31
能根据以上的思路写出一个能设置密码,更改密码的代码吗?
作者: radem
时间: 2008-12-13 01:46
将:
if "%password%"=="%passwords%" goto ok
改为:
if "%password%"=="%passwords%" goto set
作者: provem
时间: 2008-12-13 02:32
@echo off
if exist %windir%\bb.txt goto check_pass
set /p password=请设置密码:&echo %password%>%windir%\bb.txt&goto opration_ver
:check_pass
for /f "delims=" %%i in (%windir%\bb.txt) do set passwords=%%i
cls&set /p password=请输入密码:
if "%password%"=="%passwords%" goto opration_ver
cls&echo 密码错误&ping /n 2 127.1>nul&goto check_pass
大家帮我看下,我以上的代码,设置了密码到bb.txt文件的内容是:ECHO 处于关闭状态。
到底是哪里出问题了
作者: provem
时间: 2008-12-13 02:35
:set_pass
cls&set /p New_pass=请输入新密码:
cls&set /p New_pass1=请再输入新密码:
if %New_pass% equ %New_pass1% echo %New_pass%>bb.txt&echo.设置成功&pause&goto ok
echo.两次输入的密码不一致,请重新设置&pause&goto set_pass
:ok
cls&echo 密码正确!&pause&goto :eof
这是修改密码的代码,大家看下,这样可以吗
作者: ZJHJ
时间: 2008-12-13 14:31
@echo off
if exist M.RQM goto bn
rem llts in 0070303schj by qq251485609
@echo 12345678>M.RQM
:bn
@cls
@echo off
@echo.
@echo.
@echo.
@echo 为了用户的设置安全,本程序要管理员才能进入操作!
@echo.
@echo.
@echo 输入 T 退出
@echo.
@echo ------- * -------- * --------
@echo.
@echo 初始密码: 12345678
@echo.
SET /P SY= 请输入管理员密码:
FOR /F %%I IN (M.RQM) DO SET syq=%%I
IF "%SY%" == "%syq%" GOTO kyjr
IF "%SY%" == "CK" GOTO ckmm
IF "%SY%" == "T" GOTO :eof
@cls
@echo.
@echo.
@echo.
@echo 对不起,(密码可能已更改)你不是管理员不能进入操作使用!
pause>nul
@goto bn
:kyjr
@cls
@echo.
SET /P SYg= 密码正确。按任意键进入程序(如果需要修改密码,请输入XGMM):
IF "%SYg%" == "XGMM" GOTO xg
IF not "%SYg%" == "XGMM" goto k
:xg
@cls
SET /P xmm= 请输入新密码:
@cls
SET /P cxmm= 请重新再输入一次:
IF "%cxmm%" == "%xmm%" GOTO gng
@echo 密码不一致!
pause
goto xg
:gng
@echo %xmm%>M.RQM
@echo 密码更改成功! 请你牢记此密码%xmm%
pause>nul
goto bn
:ckmm
@cls
FOR /F %%I IN (M.RQM) DO SET syq=%%I
@echo %syq%
pause>nul
goto bn
:k
@cls
@echo 进入使用程序
pause>nul
[
Last edited by ZJHJ on 2008-12-13 at 21:31 ]
作者: provem
时间: 2008-12-13 21:53
谢谢ZJHJ
因为我是想做的效果是,如果M.rqm文件不存在,那提示用户设置密码,如果存在那要通过M.Rqm文件的内容来验证密码,问题我已经解决了,谢谢