我有一个像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)
有什么建议吗?
答案 0 :(得分:1)
要检查多个(伪)数组元素是否相等,可以尝试以下方法:
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
答案 1 :(得分:0)
一个简单的嵌套IF命令将执行您想要的操作。
if "%a[0]%"=="%a[1]%" if "%a[1]%"=="%a[2]%" echo Equal
另一个比较3个数字以查看它们是否相同的简单解决方案。
if "%a[1]%,%a[2]%,%a[3]%"=="%a[2]%,%a[3]%,%a[1]%" echo All same