中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-08-09 09:10
47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行
DOS批处理 & 脚本技术(批处理室) » 怎么样做输入控制.不允许输入特殊符号.不允许空格之类
可打印版本  1,001 / 5
第1楼 bbkboy 发表于 2008-08-06 15:23
新手上路 发帖 4 积分 10
怎么样做输入控制.不允许输入特殊符号.不允许空格之类
我大概写了下...
但是不知道回车怎么屏蔽.还有当中的空格asd asd...还有英文字母怎么控制论

@echo off

:one
@set /p a=阶乘算法演示,请输入你要输入的阶乘数(1-20),按q退出:

if %a% EQU q goto :two


if "%a%" ==" " echo 您的输入为空 && goto :one


if %a% LSS 1 echo 您输入的值太小 && goto :one


if %a% GTR 20 echo 您输入的值太大 && goto :one



:two

exit
第2楼 bbkboy 发表于 2008-08-06 15:50
新手上路 发帖 4 积分 10
if "%a%" NEQ "1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20" echo 您不能输入特殊符号 && goto :one

除了这样写..
第3楼 bbkboy 发表于 2008-08-06 16:13
新手上路 发帖 4 积分 10
偶是新新新新人.谁帮帮偶呀...
第4楼 bbkboy 发表于 2008-08-07 14:03
新手上路 发帖 4 积分 10
顶一下....谁教教偶怎么写法啊
第5楼 huahua0919 发表于 2008-08-07 14:11
银牌会员 发帖 780 积分 1,608
仔细看findstr/?

用findstr
比如判断是否是1-5范围和是否是字符a,f,x


[ Last edited by huahua0919 on 2008-8-7 at 02:17 PM ]
第6楼 knoppix7 发表于 2008-08-07 15:59
银牌会员 发帖 634 积分 1,287 来自 cmd.exe
感觉用Set A_A_A_A_A_A_A_A_ 来显示好点.Echo %a%碰上特殊符号就挂
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023