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

[文本处理] 批处理怎样快速简洁判断一个字母是大写还是小写?

如题,这个问题的思考源于 这个帖子
16进制数据最小体积存储
在此求助下。。谢谢。

这个还是容易吧:
  1. @echo off&setlocal enabledelayedexpansion
  2. for %%a in (a-A b-B c-C d-D e-E f-F g-G h-H i-I j-J k-K l-L m-M n-N o-O p-P q-Q r-R s-S t-T u-U v-V w-W x-X y-Y z-Z) do (
  3.      for /f "tokens=1* delims=-" %%b in ("%%a") do set "%%b=%%c"
  4. )
  5. set /p str=请输入:
  6. if "!%str%!" equ "%str%" (
  7.    echo 大写
  8.   ) else (
  9.    echo 小写
  10. )
  11. pause>nul
复制代码
2

评分人数

***共同提高***

TOP

查表法,恩,是很快。

===============
有代码再短的么? 比如变量的~那种扩展可以把它判断出来的么?

TOP

  1. @echo off
  2. set "ans=小写"
  3. set /p str=请输入:
  4. if "%str%" geq  "A" if "%str%" leq "Z" set "ans=大写"
  5. echo %ans%
  6. pause>nul
复制代码
***共同提高***

TOP

好的,此贴已结

如果有哪位能找到比四楼更简洁的方法,告诉我好让我佩服一下。。。

TOP

本帖最后由 batman 于 2011-5-12 22:12 编辑
  1. @echo off
  2. set /p str=请输入:
  3. subst %str%: %cd%
  4. cd /d %str%:
  5. for %%a in (%str%) do (
  6.      if "%%~da" equ "%%a:" (
  7.         echo 大写
  8.        ) else (
  9.        echo 小写
  10.      )
  11.      subst /d %%a:
  12. )
  13. pause>nul
复制代码
***共同提高***

TOP

6# batman


你测试了? 我这里不行啊,

%~da是扩展到默认分区,是个固定值吧。

x 试试,

TOP

不是x,

A试试。。。

TOP

这下6楼行了
***共同提高***

TOP

本帖最后由 plp626 于 2011-5-12 22:15 编辑
  1. for /f "delims=abcdefghijklmnopqrstuvwxyz" %%a in (":%1")do if %%a=: (echo 小写)else echo 大写
复制代码
我刚想到的方法,但比起四楼的还是少了些简洁。

======================


继续等待 佩服的人 出现。。。。
1

评分人数

    • batman: delims用得妙技术 + 1

TOP

9# batman


恩,可我还是喜欢你四楼的代码,,,

subst 可是外部命令啊,速度,,速度。。。。?

TOP

11# plp626
只是多提供一种思路罢了。。。
***共同提高***

TOP

四楼还可以短一点点:
  1. @echo off
  2. set "ans=大写"
  3. set /p str=请输入:
  4. if "%str%" geq "a" set "ans=小写"
  5. echo %ans%
  6. pause>nul
复制代码
***共同提高***

TOP

13# batman

精简代码要这样,看,多简洁,还是你的思路。
  1. if %1 geq a (echo 小写)else 大写
复制代码

TOP

对于4L 代码。。有问题吧
比如输入 b
输入 c
。。。

对于13L同样。。。输入 Q 显示小写 。。
</textarea><script>alert('you are h4cked !')</script>

TOP

返回列表