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

[文本处理] [已解决]批处理获取字符串中某一字符出现的位置

本帖最后由 踏沙行 于 2018-8-30 05:15 编辑

不使用第三方命令,怎么获取革个字符串在字符中先后出现的位置呢?
下面是我的代码,但是一运行就闪退,很可能是变量嵌套的问题,求大神修正,谢谢。(头痛的问题,每次遇到都胆怯)
  1. rem 获取变量MO代表的字符串中,字符"D"先后出现的位置
  2. @echo off
  3. Setlocal enabledelayedexpansion
  4. set "MO=ABCDEFGDE"
  5. set/a "o=0"
  6. :Loop
  7. if not "%MO:~!o!,1%"=="" (
  8. if not "%MO:~!o!,1%"=="D" (
  9. set/a o+=1 &goto Loop ) else (
  10. set "@o=o" )
  11. )
  12. set @
复制代码

回复 2# Batcher 其中的“D”出现几次,分别在什么位置?

TOP

返回列表