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 for
comando 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