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

[出题]批处理限制输入只能为字母且个数在3-10之间

在别的论坛看到这个题目,大家没事练练手吧,看都有些什么方法实现。
要求:对用户的输入进行判断,字符数不能少于3个,大于10个,且必须是字母(不分大小写)
技术问题请到论坛发帖求助!

回复 2楼 的帖子

未对大小写作判断。。
1

评分人数

    • tireless: delims里的字母竟区分大小写,才知道。PB + 2
技术问题请到论坛发帖求助!

TOP

回复 4楼 的帖子

>nul2>nul  两句中间应该要个空格吧。
技术问题请到论坛发帖求助!

TOP

回复 7楼 的帖子

I 服了 you !
思路倒是不错,只是代码。。。。。
技术问题请到论坛发帖求助!

TOP

batcher 真是细心  echo.%input% 就可以解决了
技术问题请到论坛发帖求助!

TOP

回复 12楼 的帖子

处理 off 的办法以在10楼解决,不行么?
代码除了要讲究效率以外,还要在可能的情况下讲究简洁和美观。
技术问题请到论坛发帖求助!

TOP

回复 15楼 batcher 的帖子

汗!我14楼的回复是对12楼的,不是说你啊。。
技术问题请到论坛发帖求助!

TOP

回复 17楼 的帖子

为什么不认真看看回帖呢?
技术问题请到论坛发帖求助!

TOP

回复 19楼 的帖子

你所说的“特殊字符”是指什么? off 吗?
技术问题请到论坛发帖求助!

TOP

特殊字符 是cmd 永远的痛,所以在不是明确要处理的情况下,一般是默认没有特殊字符的,
处理 off 的方法,10楼以有明确代码。
技术问题请到论坛发帖求助!

TOP

通过文件大小来判断字符数,果然比较新颖。echo %input% 为什么不写成echo.%input%呢?
技术问题请到论坛发帖求助!

TOP

原帖由 zqz0012005 于 2009-3-28 08:49 发表
如果要使用管道,的确要用到临时文件才行。
http://www.bathome.net/viewthread.php?tid=3830&page=1#pid24372
开始我老想着用findstr判断字符,发现必须要用到临时文件。


其实所有的判断都可以用findstr来完成,并不需要临时文件。
兼容大部分特殊符号。

  1. @echo off&set "f=findstr .....|findstr /v ............."
  2. :loop
  3. echo.&set a=a&set var=&set /p var= 请输入3至10位英文字母 &cls
  4. echo."%var%"|%f%|findstr "^\"[a-zA-Z]*\"$">nul&&set "a="
  5. if defined a (echo  输入错误) else echo  %var% 正确
  6. goto loop
复制代码

[ 本帖最后由 随风 于 2009-3-28 21:02 编辑 ]
技术问题请到论坛发帖求助!

TOP

回复 34楼 的帖子

已经说明可兼容大部分特殊符号,而不是所有特殊符号,其中引号就是没法处理的
输入 Zip 提示错误,已经改正,由此引发另一个问题,大家可以探讨一下
为什么第一个字母为大写Z时,findstr 就必须指定忽略大小写呢?
echo Zip|findstr "^[a-z]*$" 错误
echo Yip|findstr "^[a-z]*$" 正确
echo Zip|findstr /i "^[a-z]*$" 正确
技术问题请到论坛发帖求助!

TOP

回复 36楼 的帖子

执行的到,不信你连续33次输入错误看看。
1

评分人数

技术问题请到论坛发帖求助!

TOP

回复 40楼 的帖子

确实应该是执行不到,batcher 是否应该考虑改一下endlocal的位置。
技术问题请到论坛发帖求助!

TOP

返回列表