Board logo

标题: [请教]批处理判断输入的是纯数字就跳转到A,如果包含. [打印本页]

作者: temp1     时间: 2010-1-21 19:25    标题: [请教]批处理判断输入的是纯数字就跳转到A,如果包含.
请教!如何编写判断输入的是纯数字就跳转到A,如果包含字母则跳转到B的批?

谢谢!


:begin
Set set=
set /p set=:
if "%set%"=="" goto begin
%set%|findstr "^*$">nul && goto A || echo %set%|findstr "^*$">nul && goto B

:A
........
goto begin

:B
.......
goto begin


Last edited by temp1 on 2010-1-22 at 20:39 ]

作者: q8249014     时间: 2010-1-21 20:03

@echo off
set var=
set /p var=:
if /i "%var%" lss "a" (goto a) else (goto b)

:a
echo 数字
set /p=请按回车键退出. . .
exit /b

:b
echo 字母
set /p=请按回车键退出. . .


只考虑了输入数字为字母或者数字,输入其他可能会出错

作者: temp1     时间: 2010-1-21 21:08
谢谢!

我要输入的如:"www.cn-dos.net"或"58.215.76.156",让批处理自动判断后跳到A或B

作者: q8249014     时间: 2010-1-21 22:13
这两个输入是可以正常判断的,你自己修改下便可

作者: temp1     时间: 2010-1-22 18:21
Originally posted by q8249014 at 2010-1-21 22:13:
这两个输入是可以正常判断的,你自己修改下便可

谢谢!

我连英语也不会,代码更不懂,上面的输入是我照猫画虎,自己不会修改,希望诸位帮忙修改一下

谢谢!

作者: temp1     时间: 2010-1-22 18:33
象这样:
for /f %%a in ('%set%|findstr "^*$") do goto A
for /f %%a in ('%set%|findstr "^*$") do goto B

还是象
if exist '%set% ^|findstr "^*$"'>nul && goto A
if exist '%set% ^|findstr "^*$"'>nul && goto B

经测试不成功

Last edited by temp1 on 2010-1-22 at 20:41 ]