方法一:
T.CMD 內容如下: 運行 T.CMD "ABC DEF GHI " 就可以得到引號中字符串的長度
-------------------------------------
@ECHO OFF
IF %1*==* GOTO :EOF
ECHO %1
SET ABC=%~1
SET /A N=0
:LOOP
SET ABC=%ABC:~0,-1%
SET /A N=%N%+1
IF "%ABC%" EQU "" GOTO END
GOTO LOOP
:END
ECHO %N%
PAUSE
折半法(漸近法)
[code]@echo off&setlocal enabledelayedexpansionset "str=afdjg do men contgfirfmck song putint"
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
echo 經計算字符串str共有%num%個字符
pause>nul[/code]