Seu objetivo é arriscado - o que acontece se o mesmo nome de arquivo existir em vários subdiretórios? Apenas uma versão pode existir em uma determinada pasta.
O seguinte comando avisa que um forro moverá os arquivos conforme solicitado e os nomes duplicados sobrescreverão os arquivos já existentes com esse nome:
for /d %A in ("d:\folder\*") do @(pushd "%A"&(for /r /d %B in (*) do @move /y "%B\*" "%A" 2>nul)&popd)
Ou como um script em lote:
@echo off
for /d %A in ("d:\folder\*") do (
pushd "%A"
for /r /d %B in (*) do move /y "%B\*" "%A" 2>nul
popd
)