[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 0000 于 2017-1-13 15:05 编辑
感谢pusofalse关于第三段中效率问题的建议,我运行了一下,效率可以提高很多,但是字母输出却全为大写字母,原因为此句   If defined .!var!   中对于.!var!的判断,小写字母和大写字母在此不区分。
  1. @echo off
  2. setlocal ENABLEDELAYEDEXPANSION
  3. rem 标记大写字母
  4. set CAP=ABCDEFGHIJKLMNOPQRSTUVWXYZ
  5. for /l %%n in (0,1,25) do (set CAP_!CAP:~%%n,1!=!CAP:~%%n,1!)
  6. echo 大小写字母分类器
  7. set /p lts=要分类的字母:
  8. set cap=
  9. set notcap=
  10. set other=
  11. :fenlei
  12. if "!lts!"=="" goto ok
  13. set lt=!lts:~0,1!
  14. set lts=!lts:~1!
  15. if "!lt!"=="!" set other=!other!^^!
  16. if "!lt!"=="=" set other=!other!=
  17. if "!lt!"==":" set other=!other!:
  18. if "!CAP_%lt%!"=="" (
  19.   set other=!other!!lt!
  20.   goto fenlei
  21. )
  22. if "!CAP_%lt%!"=="!lt!" (
  23.   set cap=!cap!!lt!
  24. ) else (
  25.   set notcap=!notcap!!lt!
  26. )
  27. goto fenlei
  28. :ok
  29. echo 大写字母有:!cap!
  30. echo 小写字母有:!notcap!
  31. echo 不是字母的有:!other!
  32. pause
复制代码

TOP

返回列表