Archivo por lotes de Windows para ordenar subcarpetas

Archivo por lotes de Windows para ordenar subcarpetas

Tengo una carpeta, C:\Users\User1\Desktop\Photos2019, con más de 100 subcarpetas. En cada una de esas subcarpetas hay fotos, todas con nombres diferentes, excepto que 3 fotos en cada una son iguales. Me gustaría poder crear 2 subcarpetas en cada una de las carpetas del directorio, una llamada 'Base' y otra llamada 'Otro', y mover los 3 archivos iguales en total a la carpeta 'Base'. y todo lo demás se movió a la carpeta 'Otro', algo como lo siguiente.

C:\Users\User1\Desktop\Photos2019
-Folder1/Base/Landscape.png
-Folder1/Base/Portrait.png
-Folder1/Base/Wide.png
-Folder1/Other/*.png

-Folder2/Base/Landscape.png
-Folder2/Base/Portrait.png
-Folder2/Base/Wide.png
-Folder2/Other/*.png

EDITAR: Hasta ahora he podido crear un script por lotes que puedo ejecutar en cada carpeta y hará el trabajo. Es cuando intento agregar /r para realizar un bucle, que sigue ejecutándose pero no hace el trabajo en absoluto.

Tengo;

for %%a in (.) do md "Base"
for %%a in (.) do md "Other"
for %%a in (.) do move "Portrait.png" "Base"
for %%a in (.) do move "Landscape.png" "Base"
for %%a in (.) do move "Wide.png" "Base"
for %%a in (.) do move "*.png" "Other"

Esto es lo que quiero. Estoy intentando ejecutar en cada subcarpeta.

Cuál sería la mejor forma de hacer esto? Gracias.

Respuesta1

Bueno, doy fe de que la ayuda del forcomando necesita varias iteraciones de lectura para comprenderse completamente.

Con un árbol inicial en mi RamDrive de prueba A:\

> tree /f a:\
A:\
└───Test
    ├───Folder1
    │       Landscape.png
    │       other.png
    │       Portrait.png
    │       Wide.png
    └───Folder2
            Landscape.png
            other.png
            Portrait.png
            Wide.png

Este lote:

:: Q:\Test\2019\08\22\SU_1473860.cmd
@Echo off
set "StartDir=C:\Users\User1\Desktop\Photos2019"
Rem set "StartDir=A:\Test"

set "Base=Landscape.png Portrait.png Wide.png"

CD /D "%StartDir%"

for /d %%D in (*) Do (
    MD "%%~fD\Base"
    MD "%%~fD\Other"
    for %%B in (%Base%) Do Move "%%~fD\%%B" "%%~fD\Base\" >Nul 2>&1
    Move "%%~fD\*.png" "%%~fD\Other" >Nul 2>&1
)

arroja este resultado:

> tree /F a:\
A:\
└───Test
    ├───Folder1
    │   ├───Base
    │   │       Landscape.png
    │   │       Portrait.png
    │   │       Wide.png
    │   │
    │   └───Other
    │           other.png
    └───Folder2
        ├───Base
        │       Landscape.png
        │       Portrait.png
        │       Wide.png
        └───Other
                other.png

información relacionada