标题: [其他] 批处理如何设置密码 [打印本页]
作者: fq12003 时间: 2007-12-27 10:00 标题: 批处理如何设置密码
@echo off
set /p sn=请输入随机号(六位数以内):
set /a password1=%sn% * 999 + 888
set /p password2=请输入你的密码:
if "%password1%"=="%password2%" echo %sn% >>pass.txt|(goto:1)else goto:2
根据pass.txt与sn判断,如果pass.txt里存在sn内容,则执行c,否则执行d,请问这个怎么p
作者: novaa 时间: 2007-12-27 13:05
应该可以直接判断是否存在 pass.txt来吧。且楼主这个>>pass.txt会不断往里面加入新的密码。
不知道是不是楼主想要的结果?
作者: ieutk 时间: 2007-12-27 13:37
- @echo off
- :main
- cls&echo.
- set /p sn=请输入随机号(六位数以内):
- if not defined sn goto main
- echo %sn%|findstr "^1[0-9]*$">nul||goto main
- set sn=%sn:~0,6%
- set /a password1=%sn%*999+888
- set /p password2=请输入你的密码:
- if not exist pass.txt (
- echo %sn%>>pass.txt
- goto :eof
- ) else (
- for /f "delims=" %%a in (pass.txt) do @if "%sn%"=="%%a" (goto c) else goto d
- )
- ......
-
-
- :c
- echo 这里是标签c的内容
- ......
- pause&goto :eof
-
-
- :d
- echo 这里是标签d的内容
- ......
- pause&goto :eof
复制代码
是不是这样
[ 本帖最后由 ieutk 于 2007-12-27 14:17 编辑 ]
作者: fq12003 时间: 2007-12-27 17:25
关于批处理设置密码的问题@echo off
set /p sn=请输入随机号(六位数以内):
set /a password1=%sn% * 999 + 888
set /p password2=请输入你的密码:
if "%password1%"=="%password2%" echo %sn% >>pass.txt|(goto:1)else goto:2
根据pass.txt与sn判断,如果pass.txt里存在sn内容,则执行c,否则执行d,请问这个怎么p
我的本意是
输入的随机号码和密码能够满足如上的条件,则将输入成功的随机号码保存在pass.txt中,如果下次输入的随机号码和密码都正确,但是随机号码在pass.txt中已经存在,则返回密码登陆界面;根据pass.txt中判断随机号码是否存在,如果随机号码在pass中存在,则返回登陆截面,提示此号码已经存在,请重新输入,如果不存在但是密码正确则执行语句c,
如果输入的随机号码不满足条件,密码不正确,则执行d(显示pass.txt)中已经存在的号码,避免输入随机号重复,并给相应的提示
作者: fq12003 时间: 2007-12-27 17:27
只要执行不成功,都返回到登陆界面
作者: 随风 时间: 2007-12-27 20:01
标题模糊,主题更模糊,
帮不了你............
什么情况下才是密码正确?
你的密码都是通过随机数算出来的,在随机数不一样的情况下,密码能一样吗?
先把问题描述清楚,不要用你的这个不成功的代码,反而会误导别人.
作者: novaa 时间: 2007-12-27 21:31
觉得也是!
藐视的不清楚。
不知道怎么下手。。
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |