中国DOS联盟论坛

中国DOS联盟

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

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

游客:  注册 | 登录 | 命令行 | 会员 | 搜索 | 上传 | 帮助 »
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]批处理中限制输入示例(为新手)。
作者:
标题: [原创]批处理中限制输入示例(为新手)。 上一主题 | 下一主题
bat-zw
金牌会员

永远的学习者


积分 3105
发帖 1276
注册 2008-3-8
状态 离线
『楼 主』:  [原创]批处理中限制输入示例(为新手)。

&&在下面的这个批处理中如使用者不按提示要求进行输入就会报错,以为新手做示例了:

@echo off&color 1f&mode con cols=60 lines=10
title 限定输入格式批处理 by cn-dos zw19750516
:begin
cls&echo.&echo.&echo     请输入三个十进制数值,中间请用空格格开。
set a=&echo.&set /p a=    请在此处输入数值:
echo %a: =%|findstr "[^0-9]"&&goto wrong
for %%i in (%a%) do set str=%%i&call:lp
if %n% neq 3 set n=0&goto wrong
cls&echo.&echo.&echo     你所输入的三个数值为:%a% 均为合法的十进制数值。
echo.&echo     继续测试请按任意键,退出请关闭窗口。
pause>nul&goto begin
:lp
set /a n+=1
if "%str:~,1%" equ "0" if not "%str:~1%"=="" set n=0&goto wrong
goto :eof
:wrong
cls&echo.&echo.&echo     输入的数值不是合法的十进制数值,或数值不为三个。&ping /n 2 127.1>nul&goto begin




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

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


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



论坛跳转: