这样试:- @echo off
- title 获取动态字符串长度
- set /p str1=请键入第一个字符串:
- set /p str2=请键入第二个字符串:
- set "str=srv-%str1%-%str2%"
- set /p "=最终的字符串为:%str%" <nul & echo,
- call:GetStrLen n
- echo 共 %n% 个字符
- pause&goto:eof
-
- ::获取字符串长度
- :GetStrLen
- setlocal enabledelayedexpansion
- set /a max=8190,min=0
- for /l %%a in (1,1,14) do (
- set /a "num=(max+min)/2"
- for /f "delims=" %%b in ("!num!") do (
- if "!str:~%%b!" equ "" (set /a max=num) else set /a min=num
- )
- )
- if "!str:~%num%!" neq "" set /a num+=1
- endlocal & set "%1=%num%"
复制代码
|