I appreciate the code offering but unfortunately this code does less than what I've already got. The code I mentioned above does a recursive search of the entire drive. The problem is that it gets the underlying directories from the first find. If you specify *.txt in the first find... it doesn't get the directories. Any suggestions on how to catch the *.txt in the next find?