Creando un .bat para hacer capturas de pantalla de carpetas con ffmpeg

Creando un .bat para hacer capturas de pantalla de carpetas con ffmpeg

Estaba buscando un script .bat para ffmpeg y encontréeste hilo en el foro aquí.

El código en cuestión es

for %%F in (*.mp4) do (
If not Exist "%%~nF" MkDir "%%~nF"
ffmpeg -i %%F -r 1 -qscale:v 2 %%~nF\%%~nF-%%3d.jpg
)

FFMPEG se agrega a PATH, cuando intento usar este script por lotes en una carpeta, las carpetas se crean pero no aparecen imágenes.

Además de hacer que las capturas de pantalla aparezcan en las carpetas, me gustaría saber si hay un comando mejor para incluir múltiples formatos de archivos: la mayor parte de mi contenido está en .mkv, pero aquí también hay otros formatos aleatorios.

haría

for %%F in (*.mp4, *.mkv) do (

trabajar para eso?

Olvidé agregar, no estoy seguro si importa, pero los archivos están en discos duros externos (no en C:/), el script se ejecutó desde la carpeta que contiene los archivos.

Mis disculpas por crear una nueva publicación, habría comentado en esa y esperado que el comentarista respondiera, pero soy una cuenta nueva y no tenía la reputación. Cualquier ayuda es muy apreciada, ¡gracias por tu tiempo!

Respuesta1

La línea ffmpegdel código copiado no se guarda para rutas/nombres de archivos que contienen espacios.

Cambie la ffmpeglínea por lo siguiente:

ffmpeg -i "%%F" -r 1 -qscale:v 2 "%%~nF\%%~nF-%%3d.jpg"

Tenga en cuenta las citas agregadas.


Solo me gustaría saber si existe un comando mejor para incluir múltiples formatos de archivo: la mayor parte de mi contenido está en .mkv, pero aquí también hay otros formatos aleatorios.

haría

for %%F in (*.mp4, *.mkv) do (

trabajar para eso?

¿Por qué no pruebas este código conocido tú mismo? Probar esto es absolutamente trivial. Las preguntas que usted mismo puede resolver fácilmente no son de buena educación. — Nos prohíbe ayudar a los demás.

Pero sí: para captar diferentes formatos de archivos por su extensión, el cambio más simple en el código es su propia sugerencia.


Actualizar

Desafortunadamente cambié la línea pero todavía se cierra inmediatamente y no aparece nada en las carpetas.

Esto me indica que inicia el lote mediante un ícono de acceso directo, pero no desde un shell de comando abierto.

Para ver el código funcionando, abra un shell de comandos e inicie el script como un comando de shell. Copie el resultado como una actualización de su pregunta.

Quizás desee generar una pequeña estructura de prueba de su colección de videos para limitarla a una cantidad razonable de salida.

información relacionada