Note, this is in Comment to the posters in a separate thread user619818 and styfle)
DIR can and does allow searching all subdirectories for files matching a specific type.
Note: The Root Directory to check which all subdirectories lie under is assumed to be "C:\My Program\Root\" as the author did not give a path name under which these directories are located
DIR /B /S "C:\My Program\Root\*.ext"
this will give the full file paths and filenames of the source files.
if you only want file names you would have to do as follows
FOR /F "Tokens=*" %A IN ('DIR /B /S "C:\My Program\Root\*.ext"') DO @( Echo.%~nxA )
so assuming you want to move all of these files from "C:\My Program\Root\Sub Directories\*.ext" to "D:\Singlefolder\*.ext" you simply do this:
FOR /F "Tokens=*" %A IN ('DIR /B /S "C:\My Program\Root\*.ext"') DO @( MOVE "%~A" "D:\Singlefolder\%~nxA" /Y )
Hope that helps others in the future. :)