![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-09 06:21 |
共 47,811 主题排行 / 349,895 发帖 / 今日 0 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » findstr判断数字 |
| 可打印版本 930 / 5 |
| 第1楼 wangbing111 | 发表于 2008-07-26 16:19 |
| 初级用户 发帖 16 积分 41 | |
|
findstr判断数字 @echo off
set /p var=请输入: echo %var%|findstr "^[0-9]*$">nul||echo illegal number pause 为什么不起作用? |
|
| 第2楼 obsolete | 发表于 2008-07-26 18:47 |
| 初级用户 发帖 72 积分 192 | |
|
这段代码工作得挺好嘛?哪里有问题了?
PS: 1. 确保之前没有设置过环境变量var,否则用户只输入回车时,var保留以前的值 2. %var%引用变量可能无法处理用户的“非法输入”,比如包含"的情况。试试使用延迟环境变量或 call,echo %%var%%|findstr "^*$">nul||echo illegal number [ Last edited by obsolete on 2008-7-26 at 06:58 PM ] |
|
| 第3楼 obsolete | 发表于 2008-07-26 19:25 |
| 初级用户 发帖 72 积分 192 | |
| 第4楼 obsolete | 发表于 2008-07-26 19:48 |
| 初级用户 发帖 72 积分 192 | |
| 第5楼 obsolete | 发表于 2008-07-26 21:15 |
| 初级用户 发帖 72 积分 192 | |
|
思路差不多
[ Last edited by obsolete on 2008-7-26 at 09:16 PM ] |
|
| 第6楼 obsolete | 发表于 2008-07-26 21:40 |
| 初级用户 发帖 72 积分 192 | |
|
纠正一下,四楼的方法不可用,当输入包含一元算术运算符时结果不正确
比如!# 如果用于判断21亿左右内的非负整数,且除了0本身外不以0打头,改一下还能用 [ Last edited by obsolete on 2008-7-26 at 09:45 PM ] |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |