BAT批处理脚本案例--计算字符串长度

BAT批处理脚本没有提供字符串长度计算函数,为此需要自定义实现,本例将涉及批处理脚本下述几个关键知识点:
1)call 调用,调用结果如何赋值给变量
2)字符串截取
3)goto使用
4)变量延时读取 enabledelayedexpansion
关于BAT批处理脚本编写指南,大家可以参考 “windows bat 批处理脚本编写指南”

1、字符串长度计算脚本

vstr_len.bat

@echo off & setlocal enabledelayedexpansion
set arg1=%~1
set count=0
if not defined arg1 goto end

:loop
if not "!arg1:~%count%,1!" == "" (
    set /a count+=1
    goto loop
)

echo %count%

:end
exit /B 0

cmd命令框调用

rem 输出8
vstr_len afdsafsa

rem 输出6
vstr_len 中国达ddd

2、脚本中调用

1个脚本调用中另外一个脚本,用call很容易实现,但是call调用完后要将调用结果赋值给某个变量却很麻烦,看案例:
call_str_len.bat

@echo off
set str=Call vstr_len.bat
for /f %%i in ('call vstr_len %str%') do set str_len=%%i
echo %str_len%

说明:
1)call vstr_len %str%,调用计算字符串长度函数
2)用for循环,变向实现call调用结果赋值给str_len

发布了293 篇原创文章 · 获赞 98 · 访问量 77万+

猜你喜欢

转载自blog.csdn.net/chuangxin/article/details/104331716