You didn't say how you want the files merged, or in what order. I will guess "concatenated, with directory1 appearing before diretory2, and directory2 before directory3"?
The following script shows a straightforward way to do this, without relying on fancy substitutions:
cd directories
mkdir mergeddata
for I in directory1 directory2 directory3 ; do # replace with your actual directory list
for F in "$I"/* ; do
B=$(basename "$F")
cat "$F" >> "mergeddata/$B"
done
done
Edit: I added some quotes, in case any of your filenames end up with space characters or other inconvenient white space.