This is how you could read several ini files:

Code:
on *:TEXT:!check *:#channel:{

  var %inis = [color:green]"c:\test1.ini","c:\test2.ini","c:\test3.ini"[/color]
  var %F, %L = 0, %R = 0, %N = $+(1-,$numtok(%inis,44))

  while (%L < %N) {
    inc %L 1
    %F = $gettok(%inis,%L,44)
    if (!$exists(%F)) { echo 4 -s Skipping %F | continue }

    [color:blue];;; Your comparison code goes here ;;;
    ;;; Use %F as the filename for $readini/$ini ;;;
    ;;; Increment the %R variable for each match ;;;[/color]
    
    if (%R >= 5) break
  }

  if (%R < 5) msg $chan Only found %R results

}


Green: Where you put a list of the ini paths/filenames. The list items should be enclosed in quotes ("") and separated by commas.

Blue: Since you claim to already have your code reading 1 ini file properly, you can insert your existing code in place of the blue area. The path/filename of the current ini file is stored in %F, so use it in commands like $readini(%F,section,item). The loop ends if all the ini files have been read, or %R <= 5. If %R < 5 after the loop ends, a message is sent out to the channel.

That is the best I can do with the information you have provided.

-genius_at_work