here's a method that uses while loops, fwiw
function servercmdlistfiles(%c,%path,%extension)
{
if(!%c.issuperadmin)
return;
%a = -1;
%file[%a++] = findFirstFile(%path @ "/*." @ %extension);
while (strlen(%file[%a]) > 0)
{
%file[%a++] = findNextFile(%path @ "/*." @ %extension);
messageClient(%c, %file[%a]);
}
}