>>Why not try something like this:
>>
>>CREATE CURSOR crsTest (FieldName M)
>>lcFileName = SYS(2000,[*.*])
>>DO WHILE NOT EMPTY(lcFileName)
>> IF LIKE(UPPER(myStemPart), UPPER(JUSTSTEM(lcFileName))) OR;
>> LIKE(UPPER(myExtPart), UPPER(JUSTEXT(lcFileName)))
>> INSERT INTO crsTest VALUES (m.lcFileName)
>> ENDIF
>> lcFileName = SYS(2000,[*.*],1)
>>ENDDO
>>
>
>There are 13173 jpg files in that folder and the total time took 30 sec.
That seems reasonable for such a long list.
You might also consider to divide your files into more folders, to make it more manageable. Even looking at the files in Windows Explorer can take a long time with such a long list.
Splitting folders might be convenient even if you were already working with VFP 9, which doesn't have this array limit.
Difference in opinions hath cost many millions of lives: for instance, whether flesh be bread, or bread be flesh; whether whistling be a vice or a virtue; whether it be better to kiss a post, or throw it into the fire... (from Gulliver's Travels)