如何在批处理文件中获得字符串长度?在批处理文件中获取字符串的长度似乎没有一种简单的方法。例如,SET MY_STRING=abcdefg
SET /A MY_STRING_LEN=???的字符串长度如何查找?MY_STRING?如果字符串长度函数处理字符串中的所有可能字符(包括转义字符),则加分如下:!%^^()^!.
3 回答
米琪卡哇伊
TA贡献1998条经验 获得超6个赞
@echo off setlocal set "myString=abcdef!%%^^()^!" call :strlen result myString echo %result% goto :eof :strlen <resultVar> <stringVar> ( setlocal EnableDelayedExpansion set "s=!%~2!#" set "len=0" for %%P in (4096 2048 1024 512 256 128 64 32 16 8 4 2 1) do ( if "!s:~%%P,1!" NEQ "" ( set /a "len+=%%P" set "s=!s:~%%P!" ) ) ) ( endlocal set "%~1=%len%" exit /b )
婷婷同学_
TA贡献1844条经验 获得超8个赞
strvar
:
ECHO %strvar%> tempfile.txt FOR %%? IN (tempfile.txt) DO ( SET /A strlength=%%~z? - 2 )
strlength
.
FOR %%? IN (filename) DO ( ...
获取有关文件的信息 SET /A [variable]=[expression]
*对表达式进行数值计算 %%~z?
*获取文件长度的特殊表达式
ECHO %strvar%>x&FOR %%? IN (x) DO SET /A strlength=%%~z? - 2&del x
- 3 回答
- 0 关注
- 824 浏览
添加回答
举报
0/150
提交
取消