批处理bat如何判断字符串长度

查看 19|回复 2
作者:jieny   
请教热心网友,如何使用批处理bat判断字符串长度,
特别是字符串带有【空格】、【“】、【““】(即两个“字符连在一起)等特殊情况时。

字符串, 批处理, 长度

israinbow   
批处理本身处理复杂字符串比较麻烦,推荐调用 PowerShell 来获取字符串长度,可以轻松处理特殊字符。使用 powershell 判断字符串长度(推荐)
[ol]echo off
setlocal
:: 示例字符串,可以包含空格、引号、连续引号等
set "input=Hello "World""
:: 调用 PowerShell 获取字符串长度
for /f "usebackq" %%a in (`powershell -command "$env:input.Length"`) do set "len=%%a"
echo 字符串长度为: %len%
endlocal[/ol]复制代码
说明:set "input=Hello "World"":即使包含特殊字符,用 set "变量=..." 格式是安全的。powershell -command "$env:input.Length":读取环境变量 input 的内容,并返回其长度。for /f 用来捕获 PowerShell 的输出。
如果坚持使用纯批处理虽然可以实现,但处理引号、空格会变得非常复杂,容易出错,不推荐用于实际项目。
4630269wu   
感谢分享
您需要登录后才可以回帖 登录 | 立即注册

返回顶部