Вот возможное решение:
од должен переместить все файлы из «старых» папок в родительскую, если в родительской папке еще нет файлов.
└───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"
)
)
)
но у меня должна быть какая-то ошибка в моей настройке кода, потому что она больше не работает правильно. Может ли кто-нибудь увидеть мои ошибки?