标题: [文本处理] 前不久摸鱼时写了简单的批处理字符长度计算器 [打印本页]
作者: TAT 时间: 2022-9-18 14:10 标题: 前不久摸鱼时写了简单的批处理字符长度计算器
- @echo off
- setlocal enabledelayedexpansion
- title by TAT v1.0
- set /p str=
- set /A len=0
- for /L %%i in (0,0,0) do (
- set /A len=!len!+1
- echo !str! !str:~-1!
- if /I !str! EQU !str:~-1! (
- echo 此字符串长度为len=!len!
- pause>nul & exit
- )
- set str=!str:~-0,-1!
- )
-
- rem 已知bug如下:
- rem 1.直接不输入回车会出值。
- rem 2.0开头的话会出错
- rem 3.汉字按一个长度算,程序算出的其实是字符个数。
- rem 4.cmd单次输入字符最多1021个。。
复制代码
作者: TAT 时间: 2022-9-18 14:11
后面注释里是几个已知BUG
作者: Batcher 时间: 2022-9-19 09:32
回复 1# TAT
解决第一个问题:- @echo off
- setlocal enabledelayedexpansion
- :GetInput
- set "str="
- set /p "str=请输入字符串:"
- if "x!str!" equ "x" (
- goto :GetInput
- )
- set "len=0"
- for /l %%i in (0,0,0) do (
- set /a len=!len!+1
- echo !str! !str:~-1!
- if /i "!str!" equ "!str:~-1!" (
- echo 此字符串长度为len=!len!
- pause
- exit
- )
- set "str=!str:~-0,-1!"
- )
复制代码
作者: hfxiang 时间: 2022-9-19 10:26
回复 2# TAT
plp626大神已给出很好的答案
http://www.bathome.net/redirect. ... 4946&ptid=11799
作者: qixiaobin0715 时间: 2022-9-19 10:39
由aloha20200628提供分享。
http://bbs.bathome.net/viewthrea ... p;extra=&page=3
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |