首页 > 解决方案 > 批处理脚本如何比较字符串数组

问题描述

我有类似的数组a[0]= ABC , a[1]=ABC , a[2]=ABC,我想使用以下方法进行比较:

if  %a[0]%==%a[1]%=%a[2]% ( echo Equal)

比较三个不起作用,但比较两个工作正常。

if  %a[0]%==%a[1]% ( echo Equal)

有什么建议吗?

标签: arraysbatch-filecmd

解决方案


要检查多个(伪)数组元素是否相等,您可以尝试以下操作:

setlocal EnableDelayedExpansion
set "FLAG=#"   & rem // (flag that is going to be cleared in case of an encountered inequality)
set /A "MAX=9" & rem // (greatest array index number to be included in the comparison loop)
for /L %%I in (1,1,%MAX%) do if not "!a[0]!"=="!a[%%I]!" set "FLAG="
if defined FLAG echo All array elements from index 0 to %MAX% are equal.
endlocal

推荐阅读