中国DOS联盟

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

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

中国DOS联盟论坛
现在时间是 2026-08-06 19:47
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 如何判断输入的变量是十进制还是字符 查看 827 回复 3
楼 主 如何判断输入的变量是十进制还是字符 发表于 2007-12-05 00:49 ·  中国 吉林 长春 联通
初级用户
积分 46
发帖 17
注册 2007-11-30 22:40
18年会员
UID 104303
性别 男
状态 离线
如何判断输入的变量是十进制还是字符,
@echo off
set /p input=请输入十进制数字:

if 。。。do echo yes
if 。。。do echo no
2 发表于 2007-12-05 08:51 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
echo %input% | findstr /R /C:"[^0-9 ]" > nul
if %errorlevel%==1 (echo yes) else (echo no)
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
3 发表于 2007-12-05 15:17
初级用户
积分 46
发帖 17
注册 2007-11-30 22:40
18年会员
UID 104303
性别 男
状态 离线
Originally posted by murong at 2007-12-5 12:49 AM:
如何判断输入的变量是十进制还是字符,
@echo off
set /p input=请输入十进制数字:

if 。。。do echo yes
if 。。。do echo no


首先谢谢您的回复!

能否解释下下面的这句,
findstr /R /C:""

一般表达式是什么意思,还有什么表达式?

/R 将搜索字符串作为一般表达式使用。
/C: 使用指定字符串作为文字搜索字符串。
^ 行位置: 行的开始
$ 行位置: 行的终点
字符类别: 任何在字符集中的字符
补字符类别: 任何不在字符集中的字符
范围: 在指定范围内的任何字符
4 发表于 2007-12-06 10:18 ·  中国 河北 保定 联通
铂金会员
★★★★
网络独行侠
积分 6,962
发帖 2,753
注册 2003-04-16 00:00
23年会员
UID 1565
性别 男
来自 河北保定
状态 离线
一般表达式就是正则表达式(Regular expression)。一般Unix系统对正则表达式支持的较好,了解详细信息请google。

[^0-9 ] : 这个表示一个字符集,这个字符集中不包括“0-9和空格”的所有其它字符。
偶只喜欢回答那些标题和描述都很清晰的帖子!
如想解决问题,请认真学习“这个帖子”和“这个帖子”并努力遵守,如果可能,请告诉更多的人!
论坛跳转: