如何在批处理(.bat)脚本中检查字符串是否超过5个字符

时间:2012-10-04 16:17:00

标签: batch-processing batch-file

我想写一个简单的批处理脚本,检查输入字符串是否有超过5个字符。

类似的东西:

SET /P INPUT=Enter your string:
IF %INPUT% > 5 (
          ECHO %INPUT% has more than 5 chars
) ELSE (
          ECHO %INPUT% has less than 5 chars
)

如何在.bat中执行这些检查?

3 个答案:

答案 0 :(得分:2)

您可以通过简单的子字符串操作查看第五个字符后面是否有字符:

if defined INPUT if "%INPUT:~5,1%"=="" (
    echo five or less characters
) else (
    echo more than five characters
)

如果您不需要某个地方的实际数字,则无需弄清楚字符串的长度。虽然jeb获取长度的方法相当聪明(与此处使用的完全相同)。

答案 1 :(得分:1)

我确信你已经在批处理文件脚本中从输入中获取字符串长度并不是很直接。一种简单的方法是测试输入字符串的前5个字符(或任何x个字符)是否与输入字符串相同。例如:

SET /P INPUT=Enter your string:
IF [%INPUT%]==[%INPUT:~0,5%] (
      ECHO %INPUT% has more than 5 chars
) ELSE (
      ECHO %INPUT% has less than 5 chars
)

不可否认,这对于您可能需要的每个逻辑场景都不起作用,但对于许多场景来说,它是相当直接的。仅供参考,我添加了[]字符以防止空字符串比较。

希望有帮助...

答案 2 :(得分:0)

这与this question非常相似。听起来你必须为此编写自己的函数,然后将结果与5进行比较。幸运的是,该问题的回答者为您提供了一个函数。

此外,谷歌是你的朋友。