标题: [文本处理] [已解决]批处理怎么获取这个字符串长度变量啊? [打印本页]
作者: jorlaying 时间: 2022-12-22 13:04 标题: [已解决]批处理怎么获取这个字符串长度变量啊?
本帖最后由 jorlaying 于 2022-12-23 12:49 编辑
本论坛找的字符串长度计算- @echo off & setlocal EnableDelayedExpansion
- set/p str=请输入:
- if not defined str set num=0&goto :ok
- for /l %%a in (0,1,10) do if "!str:~%%a,1!"=="" set num=%%a&goto :ok
- :ok
- echo 长度=!num!
- pause
- exit
复制代码
我改成这个后不能正确获取长度变量值。我要提取这个值去作比较。- @echo off & setlocal EnableDelayedExpansion
- set/p str=请输入:
- if not defined str set num=0&goto :ok
- for /l %%a in (0,1,10) do if "!str:~%%a,1!"=="" set num=%%a
- echo 长度=!num!
- pause
- exit
复制代码
作者: 77七 时间: 2022-12-22 13:16
你把Goto去掉了,for循环只能循环到最后,!num!变固定值了
不需要改 !num! 就是你需要的长度变量值
作者: 77七 时间: 2022-12-22 13:25
本帖最后由 77七 于 2022-12-22 13:40 编辑
- @echo off & setlocal EnableDelayedExpansion
- set/p str=请输入:
- if not defined str set num=0
- for /l %%a in (0,1,10) do (
- if not defined num (
- if "!str:~%%a,1!"=="" set num=%%a
- )
- )
- echo 长度=!num!
- pause
复制代码
不想用Goto,改成这样,你试试
作者: hfxiang 时间: 2022-12-22 13:28
本论坛plp626大神的帖子是解决此问题的有效方法
http://www.bathome.net/redirect. ... 4946&ptid=11799
作者: jorlaying 时间: 2022-12-22 13:56
回复 3# 77七
多谢,完美的解决了问题!
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |