批处理本身处理复杂字符串比较麻烦,推荐调用 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 的输出。 如果坚持使用纯批处理虽然可以实现,但处理引号、空格会变得非常复杂,容易出错,不推荐用于实际项目。