Break On
$MATCH = "*.xml"
$FOLDER = "c:\YourFolder"
$Array = FindFile($MATCH,1,$FOLDER)
For Each $Filename In $Array
?"Found = " + $Filename
Next
Exit 0
Function findfile($a,optional $b,$c,$d,$e,$f)
Dim $,$w,$x,$y,$z[0]
$b=Val($b)
$d=Val($d)
$e=Val($e)
$f=Val($f)
If ($b & 2) And ($b & 4) $b=$b-4 EndIf
If $d<1 Or $d>26 $d=3 EndIf
If $e<1 Or $e>26 $e=26 EndIf
If $d>$e Exit 1 EndIf
If $e<1 $e=0 EndIf
$d=$d+64
$e=$e+64
If InStr($a,":") Or InStr($a,"\") Or InStr($a,"/") Or InStr($a,'"') Or InStr($a,"<") Or InStr($a,">") Or InStr($a,"|") Or Len($a)<1
Exit 1
EndIf
If $c
While Right($c,1)="*" Or Right($c,1)="." Or Right($c,1)="\" $c=Left($c,Len($c)-1) Loop
If Not Exist($c) Exit 1 EndIf
$x=$c
Else
$x=Chr($d)+":"
While Not Exist($x+"\*.*")
$d=$d+1
If $d>$e Exit 1 EndIf
$x=Chr($d)+":"
Loop
EndIf
If InStr($a,"?") Or InStr($a,"*") $w=1 Else $w=0 EndIf
$y=0
While $y=0
If Exist($x+"\"+$a)
If ($b & 1)
If $w=0
$z[UBound($z)]=Iif($b & 2,'"','')+Iif($b & 4,"'","")+$x+"\"+$a+Iif($b & 2,'"','')+Iif($b & 4,"'","")
ReDim Preserve $z[UBound($z)+1]
Else
$=Dir($x+"\"+$a,2)
Do
If Right($,1)<>"."
$z[UBound($z)]=Iif($b & 2,'"','')+Iif($b & 4,"'","")+$x+"\"+$+Iif($b & 2,'"','')+Iif($b & 4,"'","")
ReDim Preserve $z[UBound($z)+1]
EndIf
$=Dir(,2)
Until @Error Or (UBound($z)>=$f And $f<>0)
EndIf
If UBound($z)>=$f And $f<>0 $y=1 EndIf
Else
If $w=0
$findfile=Iif($b & 2,'"','')+Iif($b & 4,"'","")+$x+"\"+$a+Iif($b & 2,'"','')+Iif($b & 4,"'","")
Exit 0
Else
$=Dir($x+"\"+$a,2)
Do
If Right($,1)<>"."
$findfile=Iif($b & 2,'"','')+Iif($b & 4,"'","")+$x+"\"+$+Iif($b & 2,'"','')+Iif($b & 4,"'","")
Exit 0
EndIf
$=Dir(,2)
Until @Error
EndIf
EndIf
EndIf
$x=DirWalker($x)
If $c And Left($x,Len($c))<>$c $y=1 EndIf
If $x=""
If $d=$e
$y=1
Else
$d=$d+1
$x=Chr($d)+":"
While Not Exist($x+"\*.*") And $d<=$e
$d=$d+1
$x=Chr($d)+":"
Loop
If Not Exist($x+"\*.*") $y=1 EndIf
EndIf
EndIf
Loop
If ($b & 1)
If UBound($z)>0 ReDim Preserve $z[UBound($z)-1] EndIf
$findfile=$z
EndIf
Exit 0
EndFunction
Function dirwalker($a)
Dim $b,$c
If Not (GetFileAttr($a) & 16) Exit 3 EndIf
If Right($a,1)="\" $a=Left($a,Len($a)-1) EndIf
$b=$a+"\"+Dir($a+"\*.*",2)
While @Error=0
If Right($b,1)<>"." And (GetFileAttr($b) & 16)
$dirwalker=$b
Exit 0
EndIf
$b=$a+"\"+Dir("",2)
Loop
While Right($a,1)<>":"
$c=Left($a,InStrRev($a,"\")-1)
$b=$c+"\"+Dir($c+"\*.*",2)
While $b<>$a
$b=$c+"\"+Dir("",2)
Loop
$b=$c+"\"+Dir("",2)
While @Error=0
If (GetFileAttr($b) & 16) And Right($b,1)<>"."
$dirwalker=$b
Exit 0
EndIf
$b=$c+"\"+Dir("",2)
Loop
$a=$c
Loop
$dirwalker=""
Exit 18
EndFunction