Você pode fazer isso com o CMD (eu removi o espaço em branco da "pasta 1" para simplificar o exemplo, removendo a necessidade de citações.): -
c:
cd \folder1
for /r %f in (*) do move /-y %f \folder1\
for /d %f in (*) do rd /s /q %f
Seria mais seguro criar uma nova pasta de destino e mover os arquivos para lá: assim que você tiver certeza de que todos os arquivos foram movidos (com dir / s ), exclua \ folder1 (com rd / s ) e renomeie (usando move ) a nova pasta de volta para \ folder1 : -
c:
md \newfolder1
cd \folder1
for /r %f in (*) do move /-y %f \newfolder1\
dir /s
rem If the previous command shows no files then proceed with:-
cd \
rd /s /q \folder1
move \newfolder1 \folder1
Observe que haverá solicitações se os nomes forem duplicados em subdiretórios diferentes (incluímos / - y no comando move , caso você coloque os comandos em um lote arquivo).