Bonjour,
J'ai des tas de vidéos dans des sous-dossiers et je dois créer des fichiers txt contenant des informations sur le contenu de ces vidéos ; j'utilise pour ça ffprobe (lié à ffmpeg).
Je sais comment faire pour toutes les vidéos d'un seul dossier, le souci est quand je veux inclure les sous-dossiers, pas moyen de trouver une commande qui marche.
Voici la commande qui marche pour les avi d'un dossier ;
Code :
- for %a in ("F:\vid b\*.avi" ) do ffprobe -v error -show_entries frame=pkt_pts_time,width,height -select_streams v -skip_frame nokey -of csv=p=0 "%a" > "F:\vid b\%~na analyse.txt"
|
Ça garde le nom de chaque vidéo et rajoute " analyse" derrière.
J'ai essayé de la modifier en me basant sur des exemples trouvés là ;
https://ss64.com/nt/for_r.html
Ce qui donne ceci (avec For /R on inclut les sous-dossiers de "F:\vid b" ) mais aucun fichier txt n'est créé alors que la console montre bien le nom des fichiers txt ;
Code :
- For /R "F:\vid b\" %a in (*.avi) do ffprobe -v error -show_entries frame=pkt_pts_time,width,height -select_streams v -skip_frame nokey -of csv=p=0 "%a" > "%~na analyse.txt"
|
Si je spécifie un dossier de sortie, alors les fichiers txt y sont bien créés, sauf que je voudrais que ces fichiers soient écrits dans les sous-dossiers respectifs de chaque vidéo et pas tous réunis dans un dossier particulier ;
Code :
- For /R "F:\vid b\" %a in (*.avi) do ffprobe -v error -show_entries frame=pkt_pts_time,width,height -select_streams v -skip_frame nokey -of csv=p=0 "%a" > "F:\résu\%~na analyse.txt"
|
Il y a une astuce ou ce n'est pas possible ? Ou avec Powershell peut-être ? Mais si ça peut marcher sans Powershell, je suis curieux de savoir comment.
Message édité par arnuche le 18-07-2022 à 16:16:45