Board logo

标题: [求助]修改批处理自身密码 [打印本页]

作者: fourme2009     时间: 2008-4-13 11:59    标题: [求助]修改批处理自身密码

下面是一段代码,输入正确密码123456进入修改密码,请那位高手写下修改自身密码:123456

@echo off
chcp 437>nul&graftabl 936>nul
echo hP1X500P[PZBBBfh#b##fXf-V@`$fPf]f3/f1/5++u5x>in.com
set  /p password=请输密码:<nul
for /f "tokens=*" %%i in ('in.com') do set password=%%i
del in.com
echo.
if /i "%password%"=="123456" goto 修改密码
echo 错误密码:"%password%"
echo 3秒钟后程序自动退出.
ping -n 3 127.0.0.1>nul
exit

:修改密码
cls
echo 请高手完成修改123456密码
pause
作者: fourme2009     时间: 2008-4-13 12:26
不行,进得进不了修改密码那里去,
作者: fourme2009     时间: 2008-4-13 12:48
刚查找相关资料,问题已得到解决!
作者: bat-zw     时间: 2008-4-13 13:13    标题: 请楼主再测试以下代码(我己测试):

测试时我把密码隐藏去掉了,请楼主自己加上去吧。
@echo off
set /p password=请输密码:
for /f "tokens=2" %%i in (%~nx0)  do set oldpassword=%%i
if "%password%"=="%oldpassword%" goto 修改密码
cls
echo 错误密码:%password%
echo 3秒钟后程序自动退出.
ping -n 3 127.0.0.1>nul&goto :eof
:修改密码
cls
set /p pwd=请修改密码:
cls
set /p pwds=请再次确认你的密码:
cls
if not "%pwd%"=="%pwds%" echo 请返回正确输入&ping /n 2 127.1>nul&goto 修改密码
cls
echo 密码修改成功,新密码为 %pwd%
echo :: %pwd%>>%~nx0
pause&goto :eof
:: 123456
ps 请楼主把你的方法贴出来一起学习下啊。

[ Last edited by zw19750516 on 2008-4-17 at 08:11 PM ]
作者: fourme2009     时间: 2008-4-13 14:40
这是论坛找来的,感觉很好!
@echo off
if exist M.RQM goto bn
rem llts in 0070303schj by q@251485609
@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=      请输入新密码:
@echo %xmm%>xmm.txt
SET /P cxmm=    请重新再输入一次:
FOR /F %%I IN (xmm.txt) DO SET xsyq=%%I
IF "%cxmm%" == "%xsyq%" GOTO gng
@echo 密码不一致!
pause
goto xg
:gng
COPY  xmm.txt M.RQM
@echo   密码更改成功! 请你牢记此密码。
pause>nul
goto bn
:ckmm
@cls
FOR /F %%I IN (M.RQM) DO SET syq=%%I
@echo %syq%
pause>nul
goto bn
:k
del xmm.txt
@cls
@echo  进入使用程序
pause>nul
作者: bat-zw     时间: 2008-4-13 15:47


  Quote:
Originally posted by fourme2009 at 2008-4-13 14:40:
这是论坛找来的,感觉很好!
@echo off
if exist M.RQM goto bn
rem llts in 0070303schj by q@251485609
@echo 12345678>M.RQM
:bn
@cls
@echo off
@echo.
@echo.
@echo.
@echo         ...

生成了两个文件其中一个为临时的xmm.txt文件,另一个为m.rqm文件,严格上来说算不上是自身修改,而我的方法不生成任何临时文件,请楼主自己比较吧。

[ Last edited by zw19750516 on 2008-4-13 at 03:51 PM ]
作者: txa     时间: 2008-4-27 12:44
试试看
作者: dslz666     时间: 2008-4-28 01:14


  Quote:
Originally posted by zw19750516 at 2008-4-13 01:13 PM:
测试时我把密码隐藏去掉了,请楼主自己加上去吧。
[code]@echo off
if not "%pwd%"=="%pwds%" echo 请返回正确输入&ping /n 2 127.1>nul&goto 修改密码
cls
echo 密码修改成功,新密码为 %pwd%
echo :: %pwd%>>%~nx0
pause&goto :eof
:: 123456

在  echo :: %pwd%>>%~nx0之前先添加一空行比较好,
避免新密码跟旧密码在同一行,
那这样,改密码改得连自己都不知道密码是多少了

如:

echo 密码修改成功,新密码为 %pwd%
echo.>>%~nx0
echo :: %pwd%>>%~nx0
pause&goto :eof
:: 123456
作者: mmfy     时间: 2009-8-3 08:57
先echo set mima=新密码>%0.txt
再type %0>>%0.txt
ren %0.txt %0
作者: ZJHJ     时间: 2009-8-8 00:07
修改批处理自身密码并不是上上策。因为只要一但出错, 你的批就挂了。
作者: shim     时间: 2009-10-2 16:33


  Quote:
Originally posted by ZJHJ at 2009-8-8 12:07 AM:
修改批处理自身密码并不是上上策。因为只要一但出错, 你的批就挂了。

同意仁兄的。o(∩_∩)o...
作者: qingfushuan     时间: 2009-10-4 17:28
得了,我要的就是P运行一次就删除自身

谢谢上面的诸位咯