Board logo

标题: [文本处理] [已解决]批处理如何查询某个变量有多少字符? [打印本页]

作者: jinzeyu    时间: 2011-3-1 17:28     标题: [已解决]批处理如何查询某个变量有多少字符?

比如%a%变量内容是1234567890 我希望%b%就是10
比如%a%变量内容是abc 我希望%b%就是3

[ 本帖最后由 jinzeyu 于 2011-3-3 06:36 编辑 ]
作者: weichenxiehou    时间: 2011-3-1 21:29

  1. @echo off
  2. set b=
  3. set /p a=输入变量:
  4. :lp
  5. if not "%a%"=="" set/a b+=1&set "a=%a:~1%"&goto :lp
  6. echo 变量的字符数为:%b%
  7. pause>nul
复制代码

作者: batman    时间: 2011-3-1 22:43

楼主看看这个吧,相信你会明白的:
http://user.qzone.qq.com/841615149/infocenter
就看那篇《提升补充法计算字符串长度至1000位》

[ 本帖最后由 batman 于 2011-3-1 23:44 编辑 ]
作者: Batcher    时间: 2011-3-1 23:31

批处理判断字符串长度
http://bbs.bathome.net/thread-1480-1-1.html

批处理用折半法计算字符串长度
http://bbs.bathome.net/thread-4219-1-1.html

批处理求字符串长度的表驱动算法
http://bbs.bathome.net/thread-5994-1-1.html

批处理字符串长度函数:二分搜索算法
http://bbs.bathome.net/thread-6677-1-1.html
作者: Hello123World    时间: 2011-3-2 17:24     标题: 在2楼的基础上改改

  1. @echo off
  2. :hello
  3. cls
  4. set b=
  5. set /p a=输入变量:
  6. :lp
  7. if not "%a%"=="" (set/a b+=1
  8. set "a=%a:~1%"
  9. goto :lp
  10. )
  11. echo 变量的字符数为:%b%
  12. pause>nul
  13. goto hello
复制代码

作者: jinzeyu    时间: 2011-3-3 06:35     标题: 谢谢各位了

谢谢各位了!!!!!!!!
作者: jinzeyu    时间: 2011-3-3 06:50

33333333333qqqqqqqqqqqqqq
作者: jinzeyu    时间: 2011-3-7 16:43

问一下:%a:~1%是什么意思啊
作者: CrLf    时间: 2011-3-7 16:53

  1. @echo off
  2. set /p str=
  3. mshta vbscript:msgbox(len("%str%"))(window.close)
复制代码

作者: superbat    时间: 2011-3-8 09:05     标题: 回复 9楼 的帖子

截取字符用的 详细命令去看看关于set的用法




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2