手机
当前位置:查字典教程网 >脚本专栏 >DOS/BAT >计算字符串的长度的多种解决方案集锦
计算字符串的长度的多种解决方案集锦
摘要:复制代码代码如下:@echooff&setlocalEnableDelayedExpansion::计算字符串的长度:::::beganse...

复制代码 代码如下:

@echo off & setlocal EnableDelayedExpansion

:: 计算字符串的长度

::

::

:began

set mystr=

set /p mystr=输入要计算长度的字符串(直接回车退出):

if not defined mystr goto :eof

for /l %%i in (0,1,1000) do if "!mystr:~%%i,1!"=="" set strlen=%%i && goto :_endfor

:_endfor

::echo 字符串: "%mystr%"

echo 长 度: %strlen%

set strlen=

goto began

该方案的缺陷是:当字符串长度超过1000的时候,将不能探测到;不过变量能接收的长度好象还不能超过1000

另外一种方案:

复制代码 代码如下:

@echo off

:: Based on willsort's codes code by JM 2006-10-9 CMD@XP

:: 出处:http://www.cn-dos.net/forum/viewthread.php?tid=19819

set mystr=

set /p mystr=输入要计算长度的字符串(直接回车退出):

if not defined mystr goto :eof

set count=0

setlocal enabledelayedexpansion

:intercept

set /a count+=1

for /f %%i in ("%count%") do if not "!mystr:~%%i,1!"=="" goto intercept

echo 长 度: %count%

pause

goto :eof

@echo off

::

::

:began

set /p mystr=输入要计算长度的字符串:

echo %mystr:~0,1% | findstr /i "q" 1>nul 2>nul && exit rem 输入q退出

call :bflen "%mystr%" rem 这两句调用bflen,返回长度到变量ret中。

echo 字符串: "%mystr%"

echo 长 度: %ret%

goto began

:bflen rem 真麻烦,初始化要单独拿出来。

set num=

set str=

set ret=

set str=%1

:len rem 计算字符串长度

set str=%str:~0,-1%

set /a num = %num% + 1

if defined str goto len

set /a ret = %num% - 2

set num=

goto :eof

【计算字符串的长度的多种解决方案集锦】相关文章:

可以设定的定时关机的批处理

查看进程使用的端口的批处理文件

dos里执行tracert命令只有一跳的原因及解决方法

实现百度关键字搜索的批处理

win32下的命令行集合

去掉字符串头所有的0的批处理

显示自己的IP的批处理bat文件

for语句中的几种分隔符形式小结

再谈DOS批处理下格式化日期字符串的三种方法(详解)

收藏的比较完整的批处理教程第1/2页

精品推荐
分类导航