联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!
@echo off&SETLOCAL ENABLEDELAYEDEXPANSION title 批处理中判断用户的输入是否是一指定数值的方法,支持任何特殊字符的方法 by:vkill findstr "^::要求输入为" "%~nx0" >"%temp%\b.txt" 2>nul ||(echo 你没有定义要求输入的数值&pause&exit/b) :loop cls set v=&set/p=输入:<nul&set/p "v= " echo. if not defined v (echo 输入为空,不符合你的要求&goto end) set v|findstr "^v="|more>"%temp%\a.txt" set/p lv=<"%temp%\a.txt" set/p=输入为 [ !lv:~2! ] <nul >"%temp%\a.txt" set/p=::要求输入为!lv:~2!<nul fc "%temp%\a.txt" "%temp%\b.txt" >nul 2>nul||(set/p=不<nul) set/p=符合你的要求<nul :end echo. pause goto loop ::这里自己定义 ::要求输入为~!@!~#@!$#!$!@$#@!%"
Originally posted by flyinspace at 2007-4-9 22:01: 你这段代码要做什么? 看不明白??
Originally posted by qzwqzw at 2007-5-29 19:47: 研究性的代码请加上必要的注释 尤其是比较生僻和古怪的用法 因为没有人会乐意重现你的反复思考的过程 也会浪费许多的精力和帖子去讨论一 ...
@echo off rem 谢谢zzzevazzz对代码的改进 rem 关于 set errorlevel=>nul set password=>nul 我还是选择了保留 这样避免其他程序 rem 如果调用这两个变量 会引起错误 ^password=ph4nt0m$的办法很好 我原来是想用sort rem 进行顺序的调配 看来现在这个地方还是用zzzevazzz的方法比较好 sort 我就用在其他地方吧 rem the key.bat made by ALLyeSNO cls :allyesno set errorlevel=>nul echo 请输入登录口令 set password=allyesno is a pig>nul set/p password= set password|findstr "^password=ph4nt0m$" if "%errorlevel%"=="0" echo 口令正确&goto end echo 口令错误&goto allyesno :end set password=>nul set errorlevel=>nul echo 你成功登录系统
我是allyesno 帐号忘记密码了 妈的