中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-09 00:10
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [原创]批处理中限制输入示例(为新手)。 查看 717 回复 0
楼 主 [原创]批处理中限制输入示例(为新手)。 发表于 2008-06-03 00:38 ·  中国 湖南 株洲 电信
金牌会员
★★★★
永远的学习者
积分 3,105
发帖 1,276
注册 2008-03-08 13:00
18年会员
UID 112398
性别 男
状态 离线
&&在下面的这个批处理中如使用者不按提示要求进行输入就会报错,以为新手做示例了:

@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 ""&&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
论坛跳转: