Board logo

标题: [原创]批处理中限制输入示例(为新手)。 [打印本页]

作者: bat-zw     时间: 2008-6-3 00:38    标题: [原创]批处理中限制输入示例(为新手)。

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

@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