Board logo

标题: [求助]记事本生成求助~急急~新手 [打印本页]

作者: geyan01     时间: 2008-3-30 00:13    标题: [求助]记事本生成求助~急急~新手
我需要生产一个记事本,生成时候输入记事本内的一编号: 编号格式:OL-****(*表示1~9的自定义数字) 求告诉指点下~~先谢谢啦 最好能再加上一个二次编号验证~~ 以下是我一边学一边弄的代码可是通配符怎么也不行 ---------------------------------------------------------------------------------- @ECHO off color FF ECHO --------------------------------------------------------------------------- ECHO. ECHO 即将进行全新安装: 广告客户端...... ECHO. ECHO --------------------------------------------------------------------------- :Ee SET /P ST= 请输入您的网吧编号,格式为(OL-***): ECHO. if "%ST%"=="" goto EX if "%ST%"=="/?" goto EX if "%ST%"=="OL-0???" goto ST goto EX :EX ECHO 安装失败请检查你所填入的网吧ID是否正确 del WBBH.TXT @ECHO off pause goto Ee :ST ECHO %ST%>> WBBH.TXT ECHO.over>> WBBH.TXT echo --------------------------------------------------------------------------- echo. echo 编号设置完毕按任意键继续安装: 公益广告客户端...... echo. echo --------------------------------------------------------------------------- pause Start srram16.exe echo --------------------------------------------------------------------------- echo. echo 完成安装,按任意键推出。 echo. echo --------------------------------------------------------------------------- pause exit

作者: HAT     时间: 2008-3-30 01:50
你这样用通配符,在逻辑上就有问题吧。 问号不止可以代表数字,还可以代表字母啊。 用另外的方法吧: if "%ST%" geq "OL-0000" ( if "%ST%" leq "OL-0999" ( goto ST ) )

作者: geyan01     时间: 2008-3-30 02:42
谢谢 老兄是相助~~~ 能否帮我解决下编号二次验证,怎末弄呗,我对批处理是一点不同,现在刚刚入行,请各位大侠多多指教~ [ Last edited by geyan01 on 2008-3-30 at 02:46 AM ]

作者: abcd     时间: 2008-3-30 03:11
什么叫“二次编码验证”?

作者: geyan01     时间: 2008-3-30 03:18
呵呵,新手不要见笑哈,就是同样的一个编码输入一次后,提示请再次输入,两次输入一致后跳转到下一个运行~

作者: terse     时间: 2008-3-30 03:20
漏改一个ST 补上 @ECHO off color FF ECHO --------------------------------------------------------------------------- ECHO. ECHO 即将进行全新安装: 广告客户端...... ECHO. ECHO --------------------------------------------------------------------------- :Ee SET /P ST= 请输入您的网吧编号,格式为(OL-***): ECHO. echo %St%|findstr "^OL-0[0-9][0-9][0-9]$">nul&&goto ST :EX ECHO 安装失败请检查你所填入的网吧ID是否正确 del WBBH.TXT pause goto Ee :ST SET /P ST2= 请再次输入您的网吧编号,格式为(OL-***): if not "%st1%"=="%st2%" goto EX ECHO %ST2%>> WBBH.TXT ECHO.over>> WBBH.TXT echo --------------------------------------------------------------------------- echo. echo 编号设置完毕按任意键继续安装: 公益广告客户端...... echo. echo --------------------------------------------------------------------------- pause echo Start srram16.exe echo --------------------------------------------------------------------------- echo. echo 完成安装,按任意键推出。 echo. echo --------------------------------------------------------------------------- pause exit [ Last edited by terse on 2008-3-30 at 01:33 PM ]

作者: geyan01     时间: 2008-3-30 03:22
可是我是一个今天晚上才入行的再新也新不过的新手了,请多多指教呗~ 先再次谢谢啦!!

作者: abcd     时间: 2008-3-30 03:39
6楼的可以了吧

作者: geyan01     时间: 2008-3-30 03:48
我试验了,正确和错误都返回到了“Ex”

作者: geyan01     时间: 2008-3-30 04:06
感谢:HAT、abcd、terse几位大侠的帮助,问题已经搞定了,再次谢谢啦哈~~~

作者: abcd     时间: 2008-3-30 05:52
Originally posted by geyan01 at 2008-3-30 04:06 AM: 感谢:HAT、abcd、terse几位大侠的帮助,问题已经搞定了,再次谢谢啦哈~~~
我又没帮上忙,客气了。 试试下面这个? upload.cn-dos.net/img/164.rar

作者: bat-zw     时间: 2008-3-30 12:27    标题: 不好意思开始没注意到你发的求助信息:
注1:小写部分是我改的 注2:又加入了对重复编号的验证
@ECHO off&color 9F
ECHO -------------------------------------------------------------------------
ECHO.
ECHO     即将进行全新安装:  广告客户端......
ECHO.     
ECHO -------------------------------------------------------------------------
if exist WBBH.TXT goto Ee
cd . >WBBH.TXT
:Ee
cls
SET /P ST=   请输入您的网吧编号,格式为(OL-***):
cls
SET /P ST1=   请再次输入您的网吧编号进行确认,格式为(OL-***):
cls
if not %st% equ %st1% echo 输入无效&ping /n 3 127.1 >nul&goto Ee
ECHO.
for /l %%i in (1,1,999) do (
    if "%ST%"=="OL-%%i" goto ST
)
cls
ECHO 输入无效,请返回再次输入&ping /n 3 127.1 >nul&goto Ee
:ST
cls
find "%ST%" WBBH.TXT >nul 2>nul
if errorlevel 1 goto enter
if errorlevel 0 echo 编号己经存在,请返回再次输入&ping /n 3 127.1 >nul&goto Ee
:enter
ECHO %ST% >> WBBH.TXT
ECHO.over >> WBBH.TXT
echo -------------------------------------------------------------------------
echo.
echo      编号设置完毕按任意键继续安装:   公益广告客户端......
echo.
echo -------------------------------------------------------------------------
pause >nul
start srram16.exe
cls
echo -------------------------------------------------------------------------
echo.        
echo         完成安装,按任意键推出。
echo.
echo -------------------------------------------------------------------------
pause >nul&goto :eof
[ Last edited by zw19750516 on 2008-3-30 at 01:13 PM ]