
批处理如何计算出字符串的长度,即有几个字符
展开全部
方法一:T.CMD 内容如下: 运行 T.CMD "ABC DEF GHI " 就可以得到引号中字符串的长度-------------------------------------@ECHO OFFIF %1*==* GOTO :EOFECHO %1SET ABC=%~1SET /A N=0:LOOPSET ABC=%ABC:~0,-1%SET /A N=%N%+1IF "%ABC%" EQU "" GOTO ENDGOTO LOOP:ENDECHO %N%PAUSE方法二:折半法(渐近法)[code]@echo off&setlocal enabledelayedexpansion
set "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%个字符
set "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%个字符
展开全部
@echo off&&setlocal enabledelayedexpansion
for /f "tokens=1,2 delims=| " %%a in (1.txt) do (
set tempa=%%a
set tempb=%%b
if not "!tempa:~5,1!"=="" (
if not "!tempb:~5,1!"=="" echo %%a|%%b
)
)
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询