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?