mover todos os arquivos das pastas "antigas" para o pai, desde que ainda não exista nenhum arquivo na pasta pai

Meu código deve mover todos os arquivos das pastas "antigas" para o pai, desde que ainda não exista nenhum arquivo na pasta pai.

└───Folder
    ├───1
    │   └───old
    │           somefiles
    ├───2
    │   └───old
    │           somefiles
    └───3
        └───old
                somefiles

└───Folder
    ├───1
    │   │   somefiles
    │   └───old
    ├───2
    │   │   somefiles
    │   └───old
    └───3
        │   somefiles
        └───old

Até agora, meu código move 1 arquivo para o pai (se ainda não houver arquivos) e depois pára, porque agora existe um arquivo no pai.

rem // Iterate over the changing directories:
for /D %%D in ("C:\testen\qft\*") do (
    rem // Iterate over the files to process:
    for %%F in ("%%~D\old\*.*") do (
        rem // Actually move the files one level up:
        dir /A:-D "%%~D" ||  move /Y "%%~F" "%%~dpF.."
    )
)

Eu tentei resolver o problema assim:

rem // Iterate over the changing directories:
for /D %%D in ("C:\testen\qft\*") do (
    rem // Iterate over the files to process:
    for %%F in ("%%~D\old\*.*") do (
        rem // Actually move the files one level up:
    dir /A:-D "%%~D" || set VAR="true"
    if "%VAR%" == "true" (
    move /Y "%%~F" "%%~dpF.."
    dir /A:-D "%%~F" || set VAR="false"
    )
    )
)

mas devo ter algum erro no meu ajuste de código porque ele não funciona mais corretamente. Alguém pode ver meus erros?

questionAnswers(1)

yourAnswerToTheQuestion