Ms-Dos - Ayuda para listar archivo dentro de subcarpetas.

 
Vista:
sin imagen de perfil

Ayuda para listar archivo dentro de subcarpetas.

Publicado por marcos (7 intervenciones) el 20/04/2023 03:00:58
Hola a todos. No sé si es posible lograr lo siguiente.

Necesito ayuda para crear un .bat para Windows 10. Debería recorrer una carpeta principal llamada PELIS que tiene muchas subcarpetas. En su interior, cada subcarpeta tiene a su vez hasta tres niveles de subcarpetas.
Necesitaría que en su recorrido el .bat busque dentro de todas las subcarpetas posibles aquellas que NO contienen un archivo con la extensión .srt.

Luego, que genere una lista con los nombres de las subcarpetas que carecen del .srt y la guarde en un archivo llamado FALTAN_SUBS.txt.
Esta lista se almacenará en la carpeta principal PELIS. Pero, atención: quisiera evitar redundancias y/o confusiones. No deberían listarse las restantes subcarpetas vacías que integran la ruta en donde NO encuentra ningún .srt

Ejemplo: dada la siguiente ruta que NO cuenta en ninguna subcarpeta con un .srt:

F:\PELIS\Gold Run (2022)\Gold Run mkv\Subs\

en la lista solo deberá aparecer la carpeta principal y la primer subcarpeta, no las restantes vacías. De modo que quedaría:

F:\PELIS\Gold Run (2022)

Suponiendo que encuentre un .srt dentro de la subcarpeta \Gold Run mkv\, no es necesario que incluya en la lista las carpetas vacías \Subs\ ni tampoco la carpeta \Gold Run (2022)\. Se desprende entonces que toda esta ruta quedaría invalidada y no integraría el listado, ya que el requisito primordial es que NO exista ningún .srt en ninguna de las subcarpetas de la ruta.

Espero haber logrado hacerme entender...

¿Es posible implementar algo así?
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Antoni Masana
Val: 1.419
Oro
Ha mantenido su posición en Ms-Dos (en relación al último mes)
Gráfica de Ms-Dos

Ayuda para listar archivo dentro de subcarpetas.

Publicado por Antoni Masana (811 intervenciones) el 20/04/2023 15:59:39
Me resulta muy confuso lo que explicas.
No queda claro donde se supone que tiene que estar el fichero o ficheros con extensión .srt

He creado esta estructura:

1
2
3
4
5
6
7
8
9
10
C:\PELIS>dir /s /b /a:d | sort
F:\PELIS\Gold Run (2020)
F:\PELIS\Gold Run (2020)\Gold Run mks
F:\PELIS\Gold Run (2020)\Gold Run mks\Subs
F:\PELIS\Gold Run (2021)
F:\PELIS\Gold Run (2021)\Gold Run mks
F:\PELIS\Gold Run (2021)\Gold Run mks\Subs
F:\PELIS\Gold Run (2022)
F:\PELIS\Gold Run (2022)\Gold Run mks
F:\PELIS\Gold Run (2022)\Gold Run mks\Subs

¿El segundo nivel se llama siempre "Gold Run mks"?
¿El tercer nivel se llama siempre "Subs"?

¿En que nivel puede estar el fichero buscado?

¿Si esta en el 1º poner solo "C:\PELIS\Gold Run (2021)" y omitir "Gold Run mks" y "Subs"?
¿Si esta en el 2º poner solo "Gold Run mks" y omitir "C:\PELIS\Gold Run (2021)" y "Subs"?
¿Si esta en el 3º poner solo "Subs" y omitir "C:\PELIS\Gold Run (2021)" y "Gold Run mks"?

A esto le debe faltar algun filtro:

1
2
3
4
@echo off
dir /S /B /A:D >File.tmp
For /F "delims=*" %%a in (file.tmp) do if not exist "%%a\*.srt" echo %%a >>FALTAN_SUBS.txt
del File.tmp

Saludos.
\\//_
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil

Ayuda para listar archivo dentro de subcarpetas.

Publicado por marcos (7 intervenciones) el 24/04/2023 05:38:52
Estimado Antoni, lamento haber resultado confuso. Seguramente por eso, a causa de verse obligado a intentarlo a ciegas, su script no resultó efectivo. Muestra de forma indiscriminada subcarpetas que tienen un .srt tanto como las que no lo tienen.

Para mejor ilustrar, agregué más abajo la estructura general del árbol de subcarpetas que conforman la carpeta principal, PELIS. Como notará, la ubicación de los .srt es un poco azarosa y no siempre se encuentran en el mismo nivel.

De todos modos, la idea no es listar los .srt de las respectivas subcarpetas, sino a la inversa, listar las subcarpetas que carecen de un archivo srt en cualquiera de sus niveles.

También, como verá, al tratarse de películas, bastará con que en el listado aparezca la carpeta principal de referencia (PELIS) y, como es natural, la subcarpeta inmediata que cuelga de la principal. De esta manera, al ser listado, el .srt faltante quedará asociado únicamente a esta segunda subcarpeta, cualquiera sea su título.

Por lo tanto, se desprende que del árbol inferior solo me interesa que aparezca listado F:\PELIS\Ddddddd (2022).


F:\PELIS
|
+---Aaaaaaaaa (2022)
| | cover.jpg
| |
| \---Aaaaaaaaa (2022)
| | Aaaaaaaaa (2022).mp4
| | Aaaaaaaaa (2022).srt
| |
| \---Subs
| English.srt
| Forced.eng.srt
| spa.srt
|
+---Bbbbbbbb (2022)
| | cover.jpg
| |
| \---Bbbbbbbb (2022) PROPER.1080p
| | Bbbbbbbb (2022).mp4
| |
| \---SUBTITULOS
| 1_English.srt
| 2_Spanish.srt
|
+---Ccccccc (2022)
| | cover.jpg
| |
| \---Ccccccc (2022) [1080p]
| Ccccccc (2022).mp4
| Ccccccc (2022).1080p.srt
|
+---Ddddddd (2022)
| | cover.jpg
| |
| \---Ddddddd (2022)
| Ddddddd (2022).mp4
|
+---Eeeeeeeee (1971)
| | Eeeeeeeee (1971) DVD RIP.pdf
| |
| +---Eeeeeeeee (1971) VSO
| | | 18362805.jpg
| | | Eeeeeeeee (1971).mkv
| | |
| | \---SUBS
| | 10004053.rar
| | Esp.srt
| |
| \---EEEEEEEEE (1971)
| Eeeeeeeee (1971).mp4
| Eeeeeeeee (1971) English.srt
|

PD: ¿a álguien le sucede como a mí que durante tres días este ritio web no me ha permitido postear comentarios? Lo intenté con tres navegadores distintos. Al parecer el botón Enviar Datos no funciona...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar