Вот возможное решение:

од должен переместить все файлы из «старых» папок в родительскую, если в родительской папке еще нет файлов.

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

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

Мой код до сих пор перемещает 1 файл к родителю (если там еще нет файлов), и после этого он останавливается, потому что теперь в родительском есть существующий файл.

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.."
    )
)

Я пытался решить проблему следующим образом:

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"
    )
    )
)

но у меня должна быть какая-то ошибка в моей настройке кода, потому что она больше не работает правильно. Может ли кто-нибудь увидеть мои ошибки?

Ответы на вопрос(1)

Ваш ответ на вопрос