中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net  论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
作者:
标题: [求助]修改批处理自身密码 上一主题 | 下一主题
fourme2009
初级用户





积分 61
发帖 24
注册 2007-8-24
状态 离线
『楼 主』:  [求助]修改批处理自身密码

下面是一段代码,输入正确密码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

2008-4-13 11:59
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fourme2009
初级用户





积分 61
发帖 24
注册 2007-8-24
状态 离线
『第 2 楼』:  

不行,进得进不了修改密码那里去,

2008-4-13 12:26
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
fourme2009
初级用户





积分 61
发帖 24
注册 2007-8-24
状态 离线
『第 3 楼』:  

刚查找相关资料,问题已得到解决!

2008-4-13 12:48
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 4 楼』:  请楼主再测试以下代码(我己测试):

测试时我把密码隐藏去掉了,请楼主自己加上去吧。
@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 ]



批处理之家新域名:www.bathome.net
2008-4-13 13:13
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
fourme2009
初级用户





积分 61
发帖 24
注册 2007-8-24
状态 离线
『第 5 楼』:  

这是论坛找来的,感觉很好!
@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

2008-4-13 14:40
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『第 6 楼』:  



  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 ]



批处理之家新域名:www.bathome.net
2008-4-13 15:47
查看资料  发送邮件  发短消息 网志  OICQ (841615149)  编辑帖子  回复  引用回复
txa
新手上路





积分 2
发帖 1
注册 2008-4-27
状态 离线
『第 7 楼』:  

试试看

2008-4-27 12:44
查看资料  发短消息 网志   编辑帖子  回复  引用回复
dslz666
中级用户





积分 233
发帖 117
注册 2007-11-28
状态 离线
『第 8 楼』:  



  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

2008-4-28 01:14
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
mmfy
新手上路





积分 6
发帖 5
注册 2008-5-1
状态 离线
『第 9 楼』:  

先echo set mima=新密码>%0.txt
再type %0>>%0.txt
ren %0.txt %0

2009-8-3 08:57
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
ZJHJ
高级用户





积分 609
发帖 374
注册 2006-8-2
状态 离线
『第 10 楼』:  

修改批处理自身密码并不是上上策。因为只要一但出错, 你的批就挂了。

2009-8-8 00:07
查看资料  发短消息 网志   编辑帖子  回复  引用回复
shim
初级用户





积分 85
发帖 73
注册 2007-9-23
状态 离线
『第 11 楼』:  



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

同意仁兄的。o(∩_∩)o...

2009-10-2 16:33
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复
qingfushuan
高级用户





积分 502
发帖 327
注册 2006-12-30
状态 离线
『第 12 楼』:  

得了,我要的就是P运行一次就删除自身

谢谢上面的诸位咯

2009-10-4 17:28
查看资料  发送邮件  发短消息 网志   编辑帖子  回复  引用回复

请注意:您目前尚未注册或登录,请您注册登录以使用论坛的各项功能,例如发表和回复帖子等。


可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题



论坛跳转: