中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-13 00:15
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » [请教]批处理判断输入的是纯数字就跳转到A,如果包含. 查看 767 回复 5
楼 主 [请教]批处理判断输入的是纯数字就跳转到A,如果包含. 发表于 2010-01-21 19:25 ·  中国 山东 东营 电信
初级用户
积分 40
发帖 29
注册 2009-05-08 23:18
17年会员
UID 144676
性别 男
状态 离线
请教!如何编写判断输入的是纯数字就跳转到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 ]
2 发表于 2010-01-21 20:03 ·  中国 湖北 襄阳 老河口市 电信
初级用户
积分 175
发帖 45
注册 2007-08-04 16:16
19年会员
UID 94640
性别 男
状态 离线

@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=请按回车键退出. . .


只考虑了输入数字为字母或者数字,输入其他可能会出错
3 发表于 2010-01-21 21:08 ·  中国 山东 东营 电信
初级用户
积分 40
发帖 29
注册 2009-05-08 23:18
17年会员
UID 144676
性别 男
状态 离线
谢谢!

我要输入的如:"www.cn-dos.net"或"58.215.76.156",让批处理自动判断后跳到A或B
4 发表于 2010-01-21 22:13 ·  中国 湖北 襄阳 老河口市 电信
初级用户
积分 175
发帖 45
注册 2007-08-04 16:16
19年会员
UID 94640
性别 男
状态 离线
这两个输入是可以正常判断的,你自己修改下便可
5 发表于 2010-01-22 18:21 ·  中国 山东 东营 电信
初级用户
积分 40
发帖 29
注册 2009-05-08 23:18
17年会员
UID 144676
性别 男
状态 离线
Originally posted by q8249014 at 2010-1-21 22:13:
这两个输入是可以正常判断的,你自己修改下便可

谢谢!

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

谢谢!
6 发表于 2010-01-22 18:33 ·  中国 山东 东营 电信
初级用户
积分 40
发帖 29
注册 2009-05-08 23:18
17年会员
UID 144676
性别 男
状态 离线
象这样:
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 ]
论坛跳转: