Ffprobe - créer fichiers txt d'analyse dans sous-dossiers

Ffprobe - créer fichiers txt d'analyse dans sous-dossiers - Shell/Batch - Programmation

Marsh Posté le 18-07-2022 à 16:04:05    

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 :
  1. 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 :
  1. 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  :o  ;

Code :
  1. 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
Reply

Marsh Posté le 18-07-2022 à 16:04:05   

Reply

Marsh Posté le 18-07-2022 à 17:01:38    

Bingo, solution trouvée là  :)  ;
https://stackoverflow.com/questions [...] batch-file
Il suffit de rajouter dp devant na à la fin (dpn = drive, path, name), ce qui donne ;

Code :
  1. 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" > "%~dpna analyse.txt"


Message édité par arnuche le 18-07-2022 à 17:02:41
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed