我正在寻找一种批量获取字符串长度的方法。因此,我阅读了jeb的answer,其中包含一些我没有得到的神秘迹象。
检索输入字符串时,他在函数strlen
中使用井号(#):
:strlen <resultVar> <stringVar>
(
[...]
set "s=!%~2!#"
[...]
)
有人可以解释英镑符号的含义吗?
据我了解,!%~2!
给出了调用中的第二个参数。但是#
的作用是什么,为什么SET
中的"
之后的表达式呢?
答案 0 :(得分:1)
我在strlen函数中使用了哈希字符application.properties
解决了两个问题。
对于空的(未定义)变量,使用#
snytax分隔变量失败,附加字符可以防止该问题。
通过添加字符补偿结果,算法的结果是字符串长度减去:~n,m
变量之一。
为什么要使用哈希?
我记得的唯一原因是使用了没有任何特殊批处理功能的字符,而且字符清晰可见。