How to copy *.txt files recursevely in another destination?
Try using find ...
find /MyDir -name '*.txt' -exec cp -t /MyDestination "{}" +
which will find the relevant txt files and pass them in batches to cp to have it copy them to MyDestination.