[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理怎么判断字符串是字母还是数字?

要求是这样的。。
输入一个字符串,然后判断字符串的开头是字母还是数字。
如果是字母则执行A命令
如果是数字则执行B命令
如:如果输入的是k123,字符串开头一位为字母k。则执行A命令。
(基础不过关啊,这么简单都忘了呵呵。)
1

评分人数

    • zm900612: 感谢给帖子标题标注[已解决]字样PB + 2

findstr /?

TOP

2# Demon


这个命令早看过了。。
我用得不熟练。。可以帮忙给个代码不?

TOP

方法不少,可以用findstr,也可以用if
  1. set /p in=input
  2. if "!in!" geq a if !in! leq Z echo 字母
  3. if "!in!" geq 0 if !in! leq 9 echo 数字
复制代码

TOP

4# zm900612


这个可以提取首字符吗??

TOP

本帖最后由 mxxcgzxxx 于 2011-6-30 15:13 编辑
  1. set /p p=
  2. echo %p%|findstr "^[a-Z]" &&echo 字母||echo 非字母开头
  3. echo %p%|findstr "^[0-9]*$" &&echo 纯数字
复制代码
1

评分人数

世界上没有学不会的知识,也没有想得到却做不到的事!

TOP

4# zm900612


这个没效果啊。。。

TOP

直接 IF  不行吗

TOP

7# 封印

如果之前没开变量延迟,那就在代码前加一行 setlocal enabledelayedexpansion

TOP

6# mxxcgzxxx


嗯,这个非常有效,代码也很简洁。。。谢谢了

TOP

7# 封印  

如果之前没开变量延迟,那就在代码前加一行 setlocal enabledelayedexpansion
zm900612 发表于 2011-6-30 16:06

这个,我试了,加上也没效果。。。不过也谢谢你的思路了。。

TOP

回复 6# mxxcgzxxx


    你好大神。请问一下判断变量最后一位是数字还是字母。需要怎么改。谢谢

TOP

回复 6# mxxcgzxxx


    echo %p%|findstr /i "\d$" &&echo 字母||echo 非字母开头   这样写正确的吗。如果不区分大小写是不是直接i上去就行。?

TOP

回复 6# mxxcgzxxx


    我想请问一下。。这个如果是字母我不goto到某处,,是数字就goto到某处,,要怎么修改呢。。

TOP

返回列表