I must apologise - I my thoughts on Unzip's match were most uncomplimentary. I now know why you used recursion, though you seem to have a problem with the path/name boundary. Do (should) you allow wildcards in paths? Should embedded wildcards be allowed ie should "file*nov20.doc" match "filetry1nov20.doc" but not "filetry1.doc" (this is how it works at present but is it desirable - nothing else allows it - in windows at least) Now for how I think you wanted paths to match (have to lead up to it) *.* - will match any file/ext on any path \*.* - will match any file/ext in base dir sub\*.* - will match any file/ext in any subdir "sub" on any path ie "two\file.ext" will match "two\file.ext" and "any\two\file.ext" \sub\*.* - will match any file in "sub" from base ie "\sub" Checking extensions (this is how it works now) string "file.ext1.ext2.ext3" "*.*" matches "*.ext3" matches "*.ext2.ext3" matches "*.ext1" does not match please clarify these if you will so I can redo it - Russell Peters